mcpField
P
projection-patterns

projection-patterns

github.com/wshobson开发41.9k10.7k 次安装2 周前更新
代码仓库

关于 projection-patterns

此指南介绍事件溯源系统中的投影和读模型设计,面向实现 CQRS、物化视图及事件驱动查询模型的开发者,涵盖投影类型、幂等处理、检查点与重建。

主要功能

  1. 01投影架构模式
  2. 02实时、追赶、持久化和内联类型
  3. 03幂等与事务处理指南
  4. 04检查点和延迟监控
  5. 05读模型重建规划

适用场景

  1. 01构建 CQRS 读模型
  2. 02从事件创建物化视图
  3. 03根据事件流生成搜索索引

安装

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

$npx skills add https://github.com/wshobson/agents --skill projection-patterns

安装后在 Claude Code 中输入/projection-patterns确认已加载。

附带文件references/details.md

详细介绍

投影模式

为事件溯源系统构建投影和读模型的全面指南。

何时使用此技能

  • 构建 CQRS 读模型
  • 从事件创建物化视图
  • 优化查询性能
  • 实现实时仪表盘
  • 从事件构建搜索索引
  • 跨流聚合数据

核心概念

1. 投影架构
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Event Store │────►│ Projector   │────►│ Read Model  │
│             │     │             │     │ (Database)  │
│ ┌─────────┐ │     │ ┌─────────┐ │     │ ┌─────────┐ │
│ │ Events  │ │     │ │ Handler │ │     │ │ Tables  │ │
│ └─────────┘ │     │ │ Logic   │ │     │ │ Views   │ │
│             │     │ └─────────┘ │     │ │ Cache   │ │
└─────────────┘     └─────────────┘     └─────────────┘
2. 投影类型
类型描述使用场景
实时从订阅实时获取当前状态查询
追赶处理历史事件重建读模型
持久化存储检查点重启后恢复
内联与写入同一事务强一致性

模板和详细示例

完整模板库和详细示例位于 references/details.md。需要具体模板时请阅读该文件。

最佳实践

应做
  • 使投影幂等 - 可安全重放
  • 使用事务 - 用于多表更新
  • 存储检查点 - 失败后恢复
  • 监控延迟 - 对投影延迟告警
  • 为重建做规划 - 设计时考虑重建
不应做
  • 不要耦合投影 - 每个投影独立
  • 不要跳过错误处理 - 对失败进行日志记录和告警
  • 不要忽略顺序 - 事件必须按顺序处理
  • 不要过度规范化 - 针对查询模式进行反规范化

评论

支持 Markdown