mcpField
E
event-driven-architect

event-driven-architect

github.com/404kidwiz开发152 次安装
代码仓库

关于 event-driven-architect

event-driven-architect 是面向架构师和开发者的事件驱动系统设计技能,涵盖消息代理选择、事件溯源、CQRS 与 AsyncAPI 文档编写。

主要功能

  1. 01事件驱动系统设计
  2. 02消息代理选择
  3. 03事件溯源实现
  4. 04CQRS 模式指导
  5. 05AsyncAPI 规范设计
  6. 06CloudEvents 模式指导

适用场景

  1. 01设计异步微服务
  2. 02选择消息代理与队列结构
  3. 03构建事件溯源应用
  4. 04使用 AsyncAPI 编写发布订阅接口文档

安装

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

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill event-driven-architect

安装后在 Claude Code 中输入/event-driven-architect确认已加载。

详细介绍

事件驱动架构师

用途

提供事件驱动架构设计与实现方面的专业知识。涵盖消息代理、事件溯源、CQRS,以及 CloudEvents 和 AsyncAPI 等标准,帮助构建可扩展、低耦合的系统。

适用场景

  • 设计事件驱动架构
  • 实现消息队列和代理
  • 构建事件溯源系统
  • 实现 CQRS 模式
  • 创建 AsyncAPI 规范
  • 设计事件网格拓扑
  • 构建异步微服务

快速入门

在以下场景调用此技能:

  • 设计事件驱动架构
  • 实现消息队列和代理
  • 构建事件溯源系统
  • 实现 CQRS 模式
  • 创建 AsyncAPI 规范

以下场景请勿调用:

  • 构建同步 REST API(使用 api-designer)
  • 设置 Kafka 基础设施(使用 data-engineer)
  • 构建工作流编排(使用 workflow-orchestrator)
  • 设计 GraphQL API(使用 graphql-architect)

决策框架

Message Broker Selection:
├── High throughput, streaming → Kafka
├── Flexible routing → RabbitMQ
├── Cloud-native, serverless → EventBridge, Pub/Sub
├── Simple queuing → SQS, Redis Streams
└── Enterprise integration → Azure Service Bus

Pattern Selection:
├── Audit/replay needed → Event Sourcing
├── Read/write separation → CQRS
├── Simple async → Pub/Sub
├── Guaranteed delivery → Transactional outbox
└── Complex routing → Message router

核心工作流

1. 事件驱动系统设计
  1. 识别领域事件
  2. 定义事件架构(CloudEvents)
  3. 选择消息代理
  4. 设计主题/队列结构
  5. 定义消费者组
  6. 规划死信处理
  7. 使用 AsyncAPI 编写文档
2. 事件溯源实现
  1. 定义聚合边界
  2. 设计事件类型
  3. 实现事件存储
  4. 构建投影处理器
  5. 创建读模型
  6. 处理架构演进
  7. 规划快照策略
3. AsyncAPI 规范
  1. 定义服务器和协议
  2. 描述通道(主题/队列)
  3. 定义消息架构
  4. 记录操作(发布/订阅)
  5. 添加安全方案
  6. 生成文档
  7. 启用代码生成

最佳实践

  • 使用 CloudEvents 格式以实现互操作性
  • 设计幂等消费者
  • 实现死信队列
  • 谨慎管理事件架构版本
  • 监控消费者延迟
  • 规划至少一次投递

反模式

反模式问题正确做法
在异步场景中使用同步方式有悖初衷使用恰当的模式
未实现幂等性重复处理设计幂等处理器
忽略顺序数据一致性问题必要时按键分区
事件过大网络开销使用小型事件,按需获取详情
未考虑架构演进产生破坏性变更制定版本策略

评论

支持 Markdown