【发布时间】:2018-08-19 22:28:47
【问题描述】:
Martin Fowler 对事件协作模式 (https://martinfowler.com/eaaDev/EventCollaboration.html) 的描述似乎暗示服务运行所需的必要外部数据(来自其他服务的数据)应在服务内复制和维护。
这似乎暗示我们不应该诉诸于发出显式查询。 例如:
假设您有一个通信服务负责向客户发送电子邮件,并且依赖订单信息(位于订单服务中)发送订单确认电子邮件。
借助事件协作,通信服务将通过使用相关订单创建/修改事件来建立所有订单的某种内部表示。
在此示例中,无需查询来检索订单详细信息即可生成确认电子邮件。
在采用事件协作模式时,我们是否会使用显式查询消息而不是数据复制?
【问题讨论】:
标签: microservices event-sourcing