【发布时间】:2021-11-02 22:58:24
【问题描述】:
由于 Springboot 多模块生成单个胖 jar,因此将 Spring Boot 多模块项目用于微服务是个好主意
【问题讨论】:
-
当然可以。
标签: spring-boot microservices multi-module
由于 Springboot 多模块生成单个胖 jar,因此将 Spring Boot 多模块项目用于微服务是个好主意
【问题讨论】:
标签: spring-boot microservices multi-module
是的,实际上使用多模块项目是一个非常好的主意。 以下是它的一些优点:
明确代码和项目模块
解耦层。
易于修改/添加模块。假设您的持久性模块已经用 Couchbase 实现,现在您想切换到 Mongo DB,那么您只需要更改持久性模块(依赖项、代码、配置)而不是项目的其他部分。
易于维护。
【讨论】:
不,我相信。实际上,在 Spring Boot 中为多模块项目生成单个 fat jar 是不好的设计。假设我们有一个多模块项目,其中包含 3 个用于不同微服务的子模块。那么每个模块都会有自己的pom,对吗?我们需要在主项目的 pom 中将其称为模块。现在,假设无论如何我们能够将主模块 pom 中的包装定义为所有子模块的单个 fat jar。然后,您没有遵循微服务架构指南。这将是一种单体架构,因为您的所有服务都在一个单元(一个罐子)中。虽然它很容易维护,但很难通过 Jenkins 管道进行配置。我的意思是你必须自定义你的 Jenkins 流水线。
您可以参考以下网址了解更多详情:https://thebasictechinfo.com/spring-boot/spring-boot-microservices-architecture-spring-cloud-netflix-oss
【讨论】: