chaokunyang / microservices-event-sourcing

Microservices Event Sourcing 是一个微服务架构的在线购物网站,使用Spring Boot、Spring Cloud、Spring Reactor、OAuth2、CQRS 构建,实现了基于Event Sourcing的最终一致性,提供了构建端到端微服务的最佳实践

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教:每个模块下面都有相同的entity bean

toeasy opened this issue · comments

commented

初看了代码,发现每个模块下都有相同的实体类 Account Address...
能有什么方式可以共享实体类,或者更优雅的模式?

不建议在微服务中复用/共享这类代码,会引起服务间的耦合。重复是更好的选择。

不要让业务逻辑泛化。业务逻辑是面向领域建模的,复用会导致业务逻辑变得模糊、失去表达性,增加技术债。而且增大改变成本,而微服务要做的一件事就是快速进化。
代码复用不总是好的。

commented

确实在这微服务场景下复用可能引起实体边界不清晰,但也有另一方面,如果有实体需做修改调整,在多模块中都存在,是不是只能逐个修改啦

实际使用时是每个服务一个代码库,而不是多模块构建。微服务需要独立进化,如果共享实体库,会引起耦合,无法独立进化,发布。