微服务+在Intellij中的项目+Bitbucket

3

我想请教您关于在IntelliJ中项目结构的问题。我想基于微服务架构创建我的第一个Web应用程序。

我希望在IntelliJ中将所有微服务作为子模块放在一个项目中。我的问题是,我应该将每个微服务提交到BitBucket的单独存储库中,还是将所有微服务提交到一个存储库中?哪种做法最佳?

谢谢, Matthew

2个回答

6

常见做法:

  • 在Intellij-idea中将微服务分为独立的项目,而不是独立模块
  • 为每个微服务项目单独创建存储库

在项目级别上需要这种程度的隔离,因为您需要为每个微服务创建CI/CD管道,这是微服务架构的另一个特征。如果这些服务组合成一个庞大的项目,那么为不同的微服务提供不同版本的库依赖项将会很困难(即使这些服务在部署时通过Docker容器进行了分离)。每个团队都应该专注于不同微服务的项目依赖项,而不必担心其他微服务的项目依赖项。尽管每个微服务都是大型复合应用程序的一部分,但从开发人员的角度来看,将每个服务视为独立的代码单元非常重要。这使得可以在不干扰应用程序的情况下部署服务的新版本。CI/CD管道应该被设计为利用独立版本。

有太多原因超出了一篇答案的讨论范围,为每个微服务拥有不同的项目,现在就开始吧,一旦进入微服务领域,您就会发现。


非常感谢您的答复 - 听起来非常合理。谢谢您。 - Matley

1

[晚回答] 微服务架构的目的是将独立的服务协同工作。在企业实践中,每个微服务由一个团队负责管理。最好有以下几点:

  • 独立的项目,您可以自由选择任何技术
  • 每个项目都有关联的代码仓库,以便能够轻松独立地进行持续集成/持续交付(CI/CD)。

阅读这篇课程以获取有关企业微服务组织的更多细节。您也可以从https://microservices.io/这个链接中找到非常有用的定义:

微服务(也称为微服务架构)是一种将应用程序结构化为一组服务的架构风格,这些服务具备以下特点:

可独立部署, 松耦合, 围绕业务功能组织, 由小团队拥有


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接