在两个微服务之间共享域模型的最佳实践

时间:2017-12-17 22:59:00

标签: microservices

是否有关于如何在两个微服务之间共享域模型的最佳实践或指南?

我有一个微服务(1),它提供与资源(例如,订单)交互所有CRUD的终点和在资源上执行特定非CRUD任务的其他微服务(2)(订单) 。微服务(2)几乎需要所有订单属性来执行其操作。在这种情况下,创建域模型的公共共享库并在两个服务之间共享是否有意义?我可以在技术上将1和2组合在一起,但微服务(2)需要支持可扩展性,因为它非常耗费内存和CPU。

1 个答案:

答案 0 :(得分:0)

据我所知,这两个服务似乎需要共享相同的数据,并且您正在考虑共享用于读取/修改此数据的库。

它们似乎属于相同的“有界环境”,所以将它们视为一种独特的服务是理想的。

如果你真的无法将他们的数据和逻辑分开,最好将它们保持在一起。

我不认为同一微服务中的组件必须遵循相同的部署模式:它们将是相同的微服务,由同一团队管理,始终一起部署,共享相同的源存储库,但它们将部署为一种不同的策略,因为只有第二个组件需要高可扩展性。

同样有限的上下文,相同的服务,但不同的组件。

我没有太多的经验,所以把这当作我个人的想法。