流式架构:事件与响应管理的全面解析
1. 事件溯源与命令溯源
1.1 事件溯源
事件溯源是将应用程序状态或数据库的所有更改存储为一系列事件,通常存储在不可变日志或仅追加存储中。这种方式具有以下优点:
- 审计追踪 :由于不直接更新应用程序数据存储,因此可以详细查看所有事件的审计轨迹。
- 状态重建 :能够重建系统的任何先前状态,还可以使用额外事件在恢复当前状态时取消或反转更改。
- 事件操作 :可以倒回、重播和操作事件,从而检测用户行为趋势或其他有用的业务洞察。
- 事件聚合 :能够聚合和具体化事件,以便为所需的查询操作理想地格式化数据。
事件溯源有时会与 CRUD 混淆。事件溯源通常侧重于语义,而 CRUD 侧重于创建、读取、更新和删除的技术能力。
借助事件溯源,可以在其他位置完全重建应用程序数据库的数据,或在不同位置之间复制数据。还可以通过构建事件溯源的具体化视图来实践 CQRS 模式,即从同一事件流在多个位置构建多个分布式只读数据存储。
此外,事件溯源还允许倒回或重播所有事件,在重播过程中可以修复、操作、丰富或合并事件流。不同领域可以在同一事件流上工作,而不会影响其他团队的数据,因为生成事件的应用程序与订阅事件的应用程序是解耦的。
1.2 状态存储
事件溯源和流 API 可以结合使用,通过构建状态存储来促进 CQRS。状态存储类似于联合的、分散的视图,不断填充新事件。它们可以是应用程序内的内存状态存
超级会员免费看
订阅专栏 解锁全文

1384

被折叠的 条评论
为什么被折叠?



