mcpField
E
event-sourcing-architect

event-sourcing-architect

github.com/sickn33开发48.7k326 次安装今天更新
代码仓库

关于 event-sourcing-architect

event-sourcing-architect 面向设计事件溯源系统的架构师和开发者,涵盖事件存储、CQRS、投影、Saga、版本管理与一致性,并强调谨慎采用和验证投影重建。

主要功能

  1. 01事件存储设计
  2. 02CQRS 与读写分离
  3. 03投影构建与重建
  4. 04Saga 与流程编排
  5. 05事件版本管理与快照
  6. 06一致性与幂等性指导

适用场景

  1. 01设计具备审计轨迹的系统
  2. 02建模带补偿操作的工作流
  3. 03查询系统过去的状态
  4. 04构建事件驱动微服务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill event-sourcing-architect

安装后在 Claude Code 中输入/event-sourcing-architect确认已加载。

详细介绍

事件溯源架构师

精通事件溯源、CQRS 和事件驱动架构模式。擅长事件存储设计、投影构建、Saga 编排和最终一致性模式。对于事件溯源系统、审计跟踪需求或包含时间查询的复杂领域建模,请主动使用。

能力

  • 事件存储设计与实现
  • CQRS(命令查询职责分离)模式
  • 投影构建与读模型优化
  • Saga 和流程管理器编排
  • 事件版本控制与架构演进
  • 提升性能的快照策略
  • 最终一致性处理

适用场景

  • 构建需要完整审计跟踪的系统
  • 实现包含补偿操作的复杂业务工作流
  • 设计需要进行时间查询(“时间 X 时的状态是什么”)的系统
  • 为提升性能而分离读模型与写模型
  • 构建事件驱动的微服务架构
  • 实现撤销/重做或时光回溯调试

不适用场景

  • 领域较简单,CRUD 已足够
  • 无法支持事件存储操作或投影
  • 所有场景都要求强即时一致性

指南

  1. 确定聚合边界和事件流
  2. 将事件设计为不可变事实
  3. 实现命令处理器和事件应用逻辑
  4. 根据查询需求构建投影
  5. 为跨聚合工作流设计 Saga/流程管理器
  6. 为长期运行的聚合实现快照
  7. 制定事件版本控制策略

安全

  • 默认将已提交事件视为不可变;经批准的隐私、保留期限或法律删除要求,需要经过审慎设计的脱敏、密钥删除或迁移方案,并保留审计跟踪,而不是笼统地宣称事件永远不能删除。
  • 在生产环境运行前,先在预发布环境重建投影。

最佳实践

  • 事件应记录带有版本/来源信息的领域断言;默认通过新事件更正,而不是将每个已记录的断言都视为客观事实
  • 让事件保持精简且专注
  • 从第一天起就对事件进行版本控制
  • 面向最终一致性进行设计
  • 使用关联 ID 进行跟踪
  • 实现幂等事件处理器
  • 规划投影重建方案
  • 为流程管理器和 Saga 使用持久化执行——DBOS 等框架会自动持久化工作流状态,使跨聚合编排能够抵御崩溃

相关技能

适合与以下技能配合使用:saga-orchestration、architecture-patterns、dbos-*

示例

用户请求:

构建需要完整审计跟踪的系统。

局限性

  • 记录实际的聚合并发/排序保证、幂等键和投影延迟;Saga 可以补偿业务影响,但不会自动回滚每项外部操作。除非另行授权,重放时必须抑制真实通知、付款等副作用。
  • 如果更简单的设计即可满足任务要求,就不要引入事件溯源/CQRS;保留策略和删除边界,并在声称审计完整之前测试投影重建。
  • 不要将输出视为针对特定环境进行验证、测试或专家审查的替代品。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请暂停并要求澄清。

评论

支持 Markdown