【问题标题】:Microservices + Project in Intellij + BitbucketIntellij + Bitbucket 中的微服务 + 项目
【发布时间】:2018-09-22 11:31:45
【问题描述】:
我想问一下 Intellij 中项目的结构。我想创建我的第一个基于微服务架构的 Web 应用程序。
我希望将 Intellij 中一个项目中的所有微服务都视为子模块。我的问题是我是否应该将每个 mocriservice 提交到 bitbucket 中的单独存储库中,或者将所有微服务提交到一个存储库中?最佳做法是什么?
谢谢你,
马修
【问题讨论】:
标签:
java
intellij-idea
repository
bitbucket
microservices
【解决方案1】:
常见做法:
- 在 intellij-idea 中将微服务单独作为单独的项目,而不是单独的模块
- 每个微服务项目的独立存储库
您需要在项目级别进行这种程度的隔离,因为您需要为每个微服务创建CI/CD 管道,这是微服务架构的另一个特征。如果将这些服务合并到一个胖项目中,很难为不同的微服务提供不同版本的库依赖(即使这些服务在部署时被 Docker 容器分隔)。每个从事不同微服务工作的团队都不应该担心另一个微服务的项目依赖关系。尽管每个微服务都是大型复合应用程序的一部分,但从开发人员的角度来看,将每个服务视为一个独立的代码单元非常重要。这使得在不中断应用程序的情况下部署更新版本的服务成为可能。 CI/CD 管道应设计为利用独立版本控制。
有太多的原因,超出了在一个答案中讨论的范围,为什么您需要为每个微服务拥有不同的项目,但是现在,选择不同的项目,一旦您进入微服务领域,您就会发现。