首页/开发/系统分析与架构设计速查/事件通知与事件携带状态转移
架构风格与模式58 条

事件通知与事件携带状态转移

事件驱动有三种常见用法:事件通知(薄事件,只告知发生了什么)、事件携带状态转移(事件内含所需数据)、事件溯源(事件即事实来源);耦合度与信息量递增。

对比

用法事件内容代价
事件通知标识与类型消费者需回查,产生同步依赖
状态转移标识 + 关键字段快照事件体较大,字段演进需管理
事件溯源完整领域事件序列模型与工具链复杂度高
选择依据是消费者需求与耦合容忍度:回查成本高则倾向携带状态,消费者众多则倾向薄事件加稳定查询接口。

易错点

  • 薄事件加同步回查,实际退化为分布式 RPC
  • 厚事件字段随业务变化,消费者兼容性频繁被打断

数据来源与参考

  • Martin Fowler bliki《What do you mean by Event-Driven?》(2017)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌