知识卡片
领域事件的定义与识别信号
内容
领域事件是领域中发生的、往往会触发进一步业务操作的事件,比如投保业务缴费完成后触发投保单转保单的动作、批处理生成季缴保费通知单触发缴费邮件通知、密码连续输错三次触发账户锁定。识别领域事件的方法是在用户旅程或场景分析中,留意业务人员、领域专家口中带有前后动作关系的关键词,如”如果发生……,则……”“当做完……时,请通知……”——只要”发生某事件后会触发进一步业务操作”,这个事件就很可能是领域事件。领域事件采用事件驱动架构(EDA)设计,其核心价值是切断领域模型之间的强依赖:事件发布方发布事件后不必关心订阅方的处理是否成功,领域模型间的直接依赖被切断为”发布—订阅”这种松耦合关系;当领域模型映射到微服务时,领域事件因此成为解耦微服务的关键手段,微服务间数据不再要求强一致性,而是基于最终一致性。
参考来源
- 位置:《中台架构与实现:基于DDD和微服务》第9章《领域事件:解耦微服务的关键》"9.1 领域事件"(源文件:_epub-src/OEBPS/Text/chapter3-5-1.xhtml)
- 结论依据:原文说明"领域事件采用事件驱动架构(Event-Driven Architecture,EDA)设计,可以切断领域模型之间的强依赖关系,在领域事件发布后,事件发布方不必关心订阅方的事件处理是否成功……当领域模型映射到微服务时,领域事件就可以解耦微服务",直接支撑本卡片结论。
- 原始内容:在用户旅程或者场景分析时,我们需要捕捉业务人员、需求分析人员以及领域专家口中的这些具有前后动作关系的关键词,比如:"如果发生……,则……""当做完……时,请通知……"……如果发生某种事件后,会触发进一步的业务操作,那么这个事件很可能就是领域事件。