创建微服务时如何管理公共数据

时间:2018-12-19 11:05:36

标签: microservices

我将整装物重构为微服务。我不清楚微服务的数据责任和访问权限。从我的阅读中,我们应该进行垂直切片。 因此,每个服务应该对自己的UI / WebAPI / DB负责,并承担不同的责任。 例如,如果我有一个整体购物车应用程序,则可以将其分解为以下服务:

  • CustomerAccount
  • 产品搜索
  • 产品维护
  • 购物车
  • 订购

如何处理共享数据,如何确定系统的哪一部分负责?

例如在我的购物车示例中...

  • CustomerAccount,ShoppingCart和Ordering需要了解客户数据。
  • ProductSearch,ProductMaintenance,ShoppingCart和Ordering需要了解产品数据数据。
  • 订购将更新可用产品的数量,但productMaintenance也应更新。

因此,服务应该来回发送消息以相互获取数据, 还是应该有一个主服务来处理服务之间的通信/工作流程 还是应该从通用数据库读取/写入 还是其他?

1 个答案:

答案 0 :(得分:1)

这似乎回答得来不迟,但可能对将来有用。

调用另一个微服务的微服务是完全可以的,您应该注意的是万一微服务之间的通信变得比较闲聊,而不是您应该使用不同的解决方案(可能是跨服务的数据重复,也可能是在同一服务中使用的) )。

在您的情况下,我将为您要求共同的每个实体构建单独的服务,然后重新评估情况。

希望这会有所帮助

最佳成绩 布林