投影模式
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/projection-patterns。
技能介绍
要解决什么问题
在事件溯源架构里,真相在事件流里,业务查询却需要面向读优化的结构:列表页、搜索、仪表盘、跨实体统计。若直接在写模型上堆查询,或每次请求重放全量事件,延迟和复杂度都会失控。CQRS 把写侧与读侧拆开之后,读侧要靠投影(projection)把事件转成可查询的读模型或物化视图——模式选错、更新顺序不清、跨流聚合没设计,就会出现读滞后、重复消费、索引与源事件不一致等问题。
技能如何帮你落地
本技能围绕「从事件到可读数据」整理实践路径,典型覆盖:
- 为查询场景设计并演进 CQRS 读模型
- 从事件流增量维护物化视图,而不是 ad hoc 脚本
- 为搜索、过滤场景从事件构建搜索索引
- 支撑实时仪表盘类读路径的更新与校验
- 跨流聚合时的边界划分与一致性预期
使用上先明确目标、约束与输入(事件 schema、消费语义、SLA),再按模式实施并给出可验证步骤;更完整的模式说明与示例见 resources/implementation-playbook.md。
适用边界
任务与投影/读模型无关(例如纯写侧聚合根建模、与事件消费无关的 ORM 调优)时不必启用。技能聚焦投影模式与读路径,不替代你选型消息中间件、数据库或具体框架的全栈方案;领域规则与团队基础设施仍需自行对齐。
使用场景
- 事件溯源服务已上线,需要为订单列表页单独建读表并从事件流增量同步
- 查询只能扫事件重放,要在消费端维护物化视图并保证与写侧事件顺序一致
- 业务要求秒级仪表盘,需从多个事件流聚合指标并定义投影更新与对账方式
- 搜索与筛选走 ES,希望按领域事件增量更新索引而不是定时全量导入
适合人员
- 负责事件溯源写侧的同事,读查询变慢,要把列表与详情拆成独立读模型
- 后端工程师在 Kafka 上消费领域事件,首次设计投影处理器与幂等重放策略
- 架构师评审 CQRS 方案,需对照物化视图、跨流聚合与一致性边界的模式清单
- 数据平台工程师从业务事件构建搜索索引,要厘清投影 lag 与索引对账的验收步骤