Intellij + Bitbucket 中的微服务 + 项目

Mat*_*ley 3 java repository bitbucket intellij-idea microservices

我想向您询问一下IntelliJ中的项目结构。我想创建我的第一个基于微服务架构的 Web 应用程序。

我希望将IntelliJ中一个项目中的所有微服务视为子模块。我的问题是,我是否应该将每个微服务提交到BitBucket中的单独存储库中,或者将所有微服务提交到一个存储库中?最好的做法是什么?

谢谢你,马修

Kai*_*dul 6

常见做法:

  • 将微服务单独作为 intellij-idea 中的单独项目,而不是单独的模块
  • 每个微服务项目都有单独的存储库

您需要在项目级别进行这种程度的隔离,因为您需要为每个微服务创建CI/CD管道,这是微服务架构的另一个特征。如果将这些服务组合成一个胖项目,那么很难为不同的微服务提供不同版本的库依赖(即使这些服务在部署时被 Docker 容器分隔开)。每个从事不同微服务的团队不应该担心另一个微服务的项目依赖性。尽管每个微服务都是大型组合应用程序的一部分,但从开发人员的角度来看,将每个服务视为独立的代码单元非常重要。这使得在不中断应用程序的情况下部署新版本的服务成为可能。CI/CD 管道的设计应充分利用独立版本控制的优势。

为什么每个微服务需要不同的项目,原因太多,超出了一个答案的讨论范围,但现在,选择不同的项目,一旦进入微服务领域,您就会发现。