用途:该技能用于事件溯源、CQRS 与事件驱动架构的设计与实现,常在需要完整审计追踪、复杂业务流程(含补偿动作)、时态查询(如“某时刻状态如何”)、读写模型分离、事件驱动微服务、撤销重做或时间旅行调试时使用。领域简单、CRUD 已足够、无法支撑事件存储与投影、或处处要求强立即一致性时不宜使用。
主要能力:事件存储设计与实现;CQRS 模式;投影与读模型优化;Saga 与流程管理器编排;事件版本与模式演进;快照策略;最终一致性处理。
使用方式:先识别聚合边界与事件流,把事件设计为不可变事实,实现命令处理器与事件应用,按查询需求构建投影,为跨聚合流程设计 Saga/流程管理器,对长生命周期聚合实施快照,并制定事件版本策略。建议自第一天起对事件做版本管理,保持事件小而聚焦,使用关联 ID 追踪,实现幂等事件处理器,为投影重建做好规划;流程管理器与 Saga 可用 DBOS 等持久执行框架自动持久化工作流状态。
安全与限制:默认把已提交事件视为不可变;若存在隐私、留存或法律删除要求,需专门设计脱敏、密钥删除或迁移方案并保留审计轨迹,而非笼统声称事件永不删除。投影重建应先在同环境预发布验证再上生产。应记录聚合并发与顺序保证、幂等键和投影延迟;Saga 补偿的是业务效果,并非自动回滚所有外部动作;重放时须抑制真实通知、支付等副作用,除非另行授权。不要在本可更简单设计的场景引入事件溯源/CQRS;输出不能替代针对具体环境的验证、测试或专家评审;缺少必要输入、权限、安全边界或成功标准时应停下询问。