【发布时间】:2020-07-11 16:21:39
【问题描述】:
必须为我的项目创建一个项目模板,所以我很困惑在多模块 maven 或微服务(eureka)之间使用什么。
我有几个疑问/问题,如果有人请帮助我,那就太好了。
- 何时使用 Multimodule maven,何时使用微服务?
- 假设我们有任何服务都可以使用的实用程序文件,因此它将是一个不同的 Spring Boot 应用程序,或者在每个 Spring 项目中我们必须保留该实用程序文件。
- 如果我们有 3 个微服务,我不想授予对其中一个服务的访问权限,我们如何才能像多模块 maven 一样实现这一点,我们可以将其从父 pom.xml 中注释掉项目,但我们可以怎么做在微服务中。
- 我们如何在除 restTemplate 之外的 2 个服务之间进行通信。
【问题讨论】:
-
LDD-> 多模块,DDD-> 微服务 -
@emotionlessbananas : 你能提供任何参考吗?
-
我认为您需要进一步阅读,您反对 maven(这是一种组织源代码/编译/组装它的方式)和微服务,这是一种在不同应用程序中构建功能的方式. Maven 本身,无论有没有多模块,都可以构建单体应用程序或微服务应用程序,同样如此。微服务可以是多模块的 Maven 应用程序。这些是不同层次的概念。 Maven 是一个项目描述工具。微服务是一种多应用程序架构范式。没有什么反对他们。或者也许我误解了你的问题,你可以澄清一下?
-
就像@GPI说的,它们是组织代码和其他进程的工具,而
LDD (Layer driven development)例子可以是ejb project structures,DDD (Domain Driven Development)例子在erp你有库存(microservice1) 和 user (microservice2),但两者都可能有复杂的用例,所以 其中一个或两个都可以或不能是 LDD 其余是偏好(比如你想要多细粒度的服务,其他......) -
@khmarbaise 更好。 maven.apache.org 的第一行,
Apache Maven is a software project management and comprehension tool.不过并没有真正改变问题的症结。
标签: java spring spring-boot maven microservices