名称: 事件溯源迁移器 描述: 通过事件提取、存储设置和CQRS实现迁移到事件溯源架构 允许工具: [“Bash”, “Read”, “Write”, “Grep”, “Glob”, “Edit”]
事件溯源迁移器技能
将应用程序迁移到事件溯源架构,处理从现有数据中提取事件、事件存储设置和CQRS实现。
目的
为以下场景启用事件溯源迁移:
- 从现有数据中提取事件
- 事件存储设置
- 投影生成
- CQRS实现
- 快照管理
能力
1. 从现有数据中提取事件
- 分析当前状态
- 推导历史事件
- 生成事件流
- 处理数据缺口
2. 事件存储设置
- 配置事件存储
- 设置分区
- 定义保留策略
- 实现订阅
3. 投影生成
- 创建读取模型
- 构建投影
- 处理更新
- 管理一致性
4. CQRS实现
- 分离读/写
- 实现命令
- 处理查询
- 管理最终一致性
5. 快照管理
- 定义快照策略
- 生成快照
- 处理恢复
- 优化性能
6. 事件重放
- 重放事件
- 重建投影
- 处理迁移
- 测试一致性
工具集成
| 工具 | 用途 | 集成方法 |
|---|---|---|
| EventStore | 事件数据库 | CLI/API |
| Axon Framework | Java事件溯源 | 库 |
| Marten | .NET事件存储 | 库 |
| EventStoreDB | 事件存储 | CLI |
| 自定义存储 | PostgreSQL/Kafka | 库 |
输出模式
{
"迁移ID": "字符串",
"时间戳": "ISO8601",
"事件存储": {
"类型": "字符串",
"流数量": "数字",
"事件数量": "数字"
},
"投影": [
{
"名称": "字符串",
"状态": "字符串",
"最后位置": "数字"
}
],
"快照": {
"启用": "布尔值",
"数量": "数字"
}
}
与迁移流程集成
- 单体到微服务: 事件驱动架构
- 数据库模式迁移: 数据转换
相关技能
领域模型提取器: 事件发现
相关代理
数据架构师代理: 事件架构