用途:该技能用于设计事件驱动架构,围绕事件溯源(Event Sourcing)、CQRS、发布/订阅模式和领域事件,帮助构建解耦、可扩展的系统。当用户提出事件驱动相关需求时使用。
核心工作流:识别领域事件(定义发生了什么)、设计事件结构(组织事件载荷)、实现事件总线(发布与订阅)、添加事件处理器(对事件作出反应)、考虑 CQRS(读写分离)、启用事件溯源(存储事件历史)。
主要能力:定义领域事件类型与类型安全的创建函数;提供基于 EventEmitter 的内存事件总线与基于 Redis 的事件总线(含 Stream 重放);支持处理器注册与通配订阅;演示事件溯源聚合(命令校验、apply/applyEvent、从事件重建聚合);提供事件存储仓库的保存、按 ID 查询、按版本读取事件;展示 CQRS 命令处理与读模型查询,以及投影器将事件写入读模型。
使用方式:示例以 TypeScript 编写,涉及 crypto.randomUUID、EventEmitter、ioredis 与数据库访问(如 db.event)。可在订阅回调中调用邮件、库存、分析、支付等服务;Redis 方案通过 REDIS_URL 环境变量连接。
适用场景:电商订单等需要解耦、事件历史、读写分离的系统;需要跨服务发布订阅与事件重放的场景。
限制:资料未提供完整安装命令、依赖清单、价格或平台信息;部分代码示例在末尾被截断,未给出完整实现细节。