如何使用带有gradle或maven的微服务进行项目结构?

时间:2017-10-19 07:31:19

标签: maven gradle microservices multi-module multi-project

我想确定在使用微服务架构时项目结构的最佳实践是什么。

所有微服务都可以创建为新的maven / gradle项目或子项目/模块。

我认为应该考虑依赖继承,项目存储库。

由于微服务的性质,任何服务都可以使用不同的技术,但大多数服务仍然可以具有相同的依赖性(例如,spring-boot)。

另一个问题是团队应该获取所有服务还是只需要处理的服务?所以存储库结构也会受到结构的影响。

2 个答案:

答案 0 :(得分:2)

拥有多模块项目的主要原因是管理不同模块之间的依赖关系(在maven意义上)(并以正确的顺序一起构建它们)。您的微服务可能会互相调用,但在Maven意义上并不依赖于彼此。所以我不会为他们使用多模块项目。

尽管如此,您可以为微服务定义父pom,以定义常见配置和依赖关系。

答案 1 :(得分:1)

我建议您不要使用具有不同技术的多个mocroservice的simgle项目。

如果您使用Java作为lenguaje,您可以拥有一个主项目并将其用作微服务项目中的父项。此外,您可以将常用的libreries作为微服务项目的依赖项。

如果您想使用不同的技术进行微服务,我建议您为每个微服务建立一个存储库。

选择此选项,您可以在代码中进行更改时对每个微服务进行部署和版本控制,而不是在其他微服务中进行更改时。