知识卡片
事件驱动架构与事件溯源对外对内结合成事件驱动模型
内容
事件驱动架构虽改变上下文协作方式,但仍属领域驱动架构一部分,对应发布者/订阅者上下文映射模式,事件的发布订阅属服务事件契约;采用事件协作的微服务可称事件驱动服务。事件驱动架构(关注上下文之间协作)与事件溯源模式(关注上下文内部领域逻辑)并不矛盾,可结合:以限界上下文为边界,对内把所有领域行为理解为状态变更、以事件形式存储处理;对外把所有通信理解为事件消息传递、以事件形式发布订阅。如此可实现系统的可追溯性、高响应性、弹性伸缩与松耦合——这正是事件驱动模型的核心优势。但它有一定复杂度,缺乏驾驭信心时应慎用或只为部分场景建模并控好边界;作为函数范式分支还可用函数式/响应式编程匹配异步非阻塞事件流。发散:对内溯源、对外协同是「一套事件语义贯穿内外」的完整形态,威力大但复杂度也高,按需局部采用。
参考来源
- 位置:《解构领域驱动设计》附录B B.3.2(源文件:_epub-src/OEBPS/035.xhtml)
- 结论依据:原文说明事件驱动架构与事件溯源对外对内结合、其优势与复杂度告诫。
- 原始内容:事件驱动架构与事件溯源模式并不矛盾,前者关注限界上下文之间的协作,后者关注限界上下文内部的领域逻辑……这正是事件驱动模型的核心优势。