【问题标题】:Spring : expose embedded JAR as another REST APISpring:将嵌入式 JAR 公开为另一个 REST API
【发布时间】:2020-02-10 20:11:49
【问题描述】:

我有一个单一的 Spring 引导应用程序,它公开了一个 REST API /getUserList

现在我们采用微服务的方式,提取一些业务代码,创建/getCountry微服务REST API。

通常,/getUserList 应该调用/getCountry 以获取所有国家/地区。

现在出于测试目的,我想在同一台服务器上使用这两个 REST API,但要分开使用。我能想到的是创建两个单独的 JAR 并让一个调用另一个。我想知道这样做的正确方法是什么:

我应该将/getCountry 列为/getUserList 的一个模块吗?还是我应该创建一个单独的项目?

【问题讨论】:

  • 去一个单独的项目,不会花太多力气

标签: rest spring-boot microservices


【解决方案1】:

您决定将您的单体应用分解为微服务。您从右脚开始,根据您定义的有界上下文分离应用程序逻辑。在这种情况下,您将描述“国家”上下文和“用户”上下文。

微服务是可独立部署的,所以你是对的,它们必须是单独的 jar。您的“用户”服务将像微服务架构中一样通过网络调用“国家/地区”服务。

通常,每个微服务都有自己的 repo(项目),因此必须在服务上工作的开发人员不需要熟悉大型代码库,或者弄清楚为什么代码与他们的服务无关(限界上下文)在那里。

话虽如此,如果当前您的项目非常小,您可以决定将它们作为单独的模块(不要在用户模块中导入国家/地区模块)保留在同一个项目下,稍后再拆分它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多