SuperAPI AI 工具集

event-store-design

设计与创作

查看项目

更新于 10-15 23:24

技能介绍

用途:为事件溯源(Event Sourcing)应用设计并实现事件存储,适用于搭建事件溯源基础设施、在多种事件存储技术间选型、实现自定义事件存储、优化事件存储与读取、设置事件存储模式以及规划扩展。

主要能力:给出事件存储架构(按聚合划分的流、全局位置顺序);梳理核心需求(仅追加、流内与全局有序、版本化乐观并发控制、订阅通知、幂等写入);提供技术对比(EventStoreDB 适合纯事件溯源但用途单一;PostgreSQL 适合已有 Postgres 栈但需手动实现;Kafka 适合高吞吐流式但不擅长按流查询;DynamoDB 适合无服务器 AWS 原生但有查询限制;Marten 面向 .NET 生态)。

使用方式:先明确目标、约束与所需输入,应用相关最佳实践并验证结果,给出可执行步骤与验证方法;如需详细示例,打开 resources/implementation-playbook.md。资料提供四类模板:PostgreSQL 事件存储表结构(events、snapshots、subscription_checkpoints 及索引)、Python 事件存储实现(append_events 乐观并发、read_stream、read_all、subscribe 与检查点)、EventStoreDB 用法(append_to_stream、get_stream、subscribe_to_all、$ce- 类别投影)、DynamoDB 事件存储(条件写入、GSI 全局排序)。

最佳实践:流 ID 含聚合类型(如 Order-{uuid});包含 correlation/causation ID 便于追踪;从第一天起对事件版本化;用事件 ID 实现幂等去重;按查询模式建索引。避免更新或删除事件、存储大负载、跳过乐观并发、忽略背压。

限制:仅当任务明确匹配上述范围时使用;输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。具体收费、价格与平台信息暂未提供。