如何在微服务设计中打破产品和用户和订单表

Posted

技术标签:

【中文标题】如何在微服务设计中打破产品和用户和订单表【英文标题】:how to break products and users and orders table in microservice design 【发布时间】:2021-03-07 18:32:17 【问题描述】:

假设我有三个表。产品、订单和用户 我可以通过三种方式销售我的产品。移动版、桌面版和移动网络版。

我想知道我应该如何设计我的微服务。我相信我需要在我的所有服务中都有用户,因为例如我需要查看订单列表以及在我的虚构订单服务中订购的人。此外,我需要在我的 ProductCatalog 服务中有用户才能知道谁创建了这个产品。 (假设我没有将后端用户和最终用户分开)

【问题讨论】:

【参考方案1】:

我建议考虑数据。你有哪些数据类型?每种类型的生产者是谁?谁是消费者?数据类型之间有什么关系?什么类型的查询将在您的系统中传播?服务需要知道什么才能回复查询?

然后围绕数据规划您的服务。产生每种类型的一个或多个服务。一个或多个使用每种类型的服务。一个或多个服务,回复每种查询类型。

您显然需要一个支持建议模型的运行时引擎。我可以推荐Spiderwiz,这是一个开源编程模型和运行时,我相信它会很好地满足您的需求。

【讨论】:

以上是关于如何在微服务设计中打破产品和用户和订单表的主要内容,如果未能解决你的问题,请参考以下文章

订单风险系统BI

微服务架构总览

如何在用户应用促销代码时设计订单历史记录表

微商分红模式管理软件的设计和研发

DDD领域驱动设计在微服务架构的应用

最近很火的DDD(领域驱动设计),在微服务中怎么使用?