对比
| 用法 | 事件内容 | 代价 |
|---|---|---|
| 事件通知 | 标识与类型 | 消费者需回查,产生同步依赖 |
| 状态转移 | 标识 + 关键字段快照 | 事件体较大,字段演进需管理 |
| 事件溯源 | 完整领域事件序列 | 模型与工具链复杂度高 |
选择依据是消费者需求与耦合容忍度:回查成本高则倾向携带状态,消费者众多则倾向薄事件加稳定查询接口。
事件驱动有三种常见用法:事件通知(薄事件,只告知发生了什么)、事件携带状态转移(事件内含所需数据)、事件溯源(事件即事实来源);耦合度与信息量递增。
| 用法 | 事件内容 | 代价 |
|---|---|---|
| 事件通知 | 标识与类型 | 消费者需回查,产生同步依赖 |
| 状态转移 | 标识 + 关键字段快照 | 事件体较大,字段演进需管理 |
| 事件溯源 | 完整领域事件序列 | 模型与工具链复杂度高 |