【发布时间】:2019-07-03 06:21:13
【问题描述】:
我正在使用微服务架构设计电子商务。假设我有两个上下文:产品目录、库存和定价。 我似乎很清楚他们有明确的责任。但是要为展示案例(产品列表)提供服务,我需要请求产品目录,获取 ID 列表,然后使用它来查询库存微服务以检查库存状态(有货或缺货)。除此之外,我还需要向 Pricing 提出请求以获取每种产品的价格。
所以基本上服务于一个基本功能让我在三个微服务中执行三个请求(如连接)。我一直在阅读有关微服务架构的信息,当您处理许多“连接”时,这些上下文可能应该是一个单独的。但是,IMO 对我来说似乎很清楚每个上下文都有不同的职责。
另一种选择是创建一个“搜索”微服务来汇总所有这些信息(产品 + 定价 + 库存)。我们可以使用域事件来通知“搜索”微秒发生了一些变化。所以我们可以通过一个请求来解决展示案例。这看起来像 CQRS。
问题是……
有正确的方法吗?
哪个更好?取舍?
【问题讨论】:
-
这可能会更详细地回答您的问题:stackoverflow.com/a/54676222/1235935
标签: domain-driven-design microservices