gpt4 book ai didi

java - 如何将 2 个服务器作为单独的进程运行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:40 24 4
gpt4 key购买 nike

我有 2 个服务,每个服务都有一个 Controller 。

@Service
public class Service1
{
}

@RestController
@RequestMapping("/api")
public class Controller1
{
}

...

@Service
public class Service2
{
}

@RestController
@RequestMapping("/api")
public class Controller2
{
}

我想在各自的进程中运行每个服务或 Controller 。如何在不创建两个应用程序的情况下执行此操作?

这和我想要的差不多,见下图: enter image description here

最佳答案

考虑到附加的组件图,我建议研究一下微服务架构。您将能够按域(电影、客户、评论)分离职责,甚至可以构建单独的访问规则(例如,电影目录的匿名访问和对客户数据的安全访问)。每个数据存储(DB1、DB2 等)将仅链接到负责的服务。此外,您将能够根据使用情况准确扩展必要的服务,例如5 个电影服务、2 个客户数据服务和 3 个评论服务。

Gradle 或 Maven 可让您轻松构建具有多个子模块的大型项目。您的一些模块将是应用程序模块,其中一些将是共享模块(模型、实用程序等)。

此外,我建议为每个项目设置一个单独的存储库,以简化变更管理和审查 - 这在大规模应用时会非常有帮助。

示例 Gradle 结构:

根模块

  • 模特
  • 工具
  • 电影服务
  • 客户服务
  • 评价服务

每个服务子模块都将包含自己的@SpringBootApplication 以及 Controller 、服务和存储库。当然,您需要为每个服务子模块添加 Spring Boot Gradle 插件。

更新:展望 future ,明智的做法是将 Docker 配置添加到每个服务子模块并将每个应用程序作为 Docker 容器运行。 Docker 将显着简化开发。

关于java - 如何将 2 个服务器作为单独的进程运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54341435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com