关于 microservices-architect
Microservices Architect 是用于设计和实施微服务架构的技能,面向构建或拆分服务的团队。它涵盖服务边界、通信模式、分布式事务及韧性设计。
主要功能
- 01服务边界与 API 设计
- 02单体拆分指导
- 03同步与异步通信模式
- 04服务网格与网关规划
- 05Saga 事务设计
- 06韧性与故障处理
适用场景
- 01将单体应用拆分为服务
- 02规划服务间通信方式
- 03实施服务网格
- 04设计分布式事务处理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill microservices-architect安装后在 Claude Code 中输入/microservices-architect确认已加载。
详细介绍
微服务架构师
用途
提供微服务架构设计与实现方面的专业知识。专长包括服务拆分、服务间通信模式、服务网格实现,以及解决分布式系统挑战。
适用场景
- 将单体应用拆分为微服务
- 定义服务边界和 API
- 实现服务网格(Istio、Linkerd)
- 设计 API 网关模式
- 处理分布式事务(Saga 模式)
- 实现事件驱动通信
- 设置服务发现和负载均衡
- 设计弹性机制(断路器、重试)
快速开始
在以下情况下调用此技能:
- 从零开始设计微服务
- 拆分现有单体应用
- 实现服务间通信
- 设置服务网格或 API 网关
- 解决分布式系统挑战
以下情况下不要调用:
- 逐步迁移旧系统 → 使用
/legacy-modernizer - 事件流架构 → 使用
/event-driven-architect - Kubernetes 运维 → 使用
/kubernetes-specialist - 单个服务的 API 设计 → 使用
/api-designer
决策框架
Communication Pattern?
├── Synchronous
│ ├── Simple calls → REST/gRPC
│ └── Complex routing → API Gateway
├── Asynchronous
│ ├── Events → Kafka/RabbitMQ
│ └── Commands → Message queues
└── Distributed Transaction
├── Strong consistency → Saga (orchestration)
└── Eventual consistency → Saga (choreography)
核心工作流
1. 服务拆分
- 从领域模型中识别限界上下文
- 定义服务职责(单一用途)
- 为每个服务设计 API
- 确定每个服务的数据所有权
- 规划服务间通信
- 定义部署策略
2. 服务网格实现
- 选择网格(Istio、Linkerd、Consul)
- 部署 Sidecar 代理
- 配置流量管理
- 实现 mTLS 以确保安全
- 设置可观测性(追踪、指标)
- 定义重试和断路器策略
3. Saga 模式实现
- 识别分布式事务边界
- 选择编排或协同模式
- 定义补偿事务
- 实现 Saga 协调器(如果采用编排模式)
- 处理故障场景
- 添加 Saga 状态监控
最佳实践
- 围绕业务能力设计服务,而非围绕技术层设计
- 管理好自己的数据——每个服务管理自己的数据库
- 使用异步通信实现松耦合
- 实现断路器以增强容错能力
- 面向故障进行设计——一切最终都会发生故障
- 使用关联 ID 进行分布式追踪
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 分布式单体 | 服务彼此耦合,兼具两者之弊 | 真正的限界上下文 |
| 共享数据库 | 紧密耦合 | 每个服务使用独立数据库 |
| 同步调用链 | 故障级联 | 尽可能使用异步通信 |
| 没有断路器 | 故障级联 | 实现 Hystrix/Resilience4j |
| 纳米服务 | 运维开销过大 | 适当规模的服务 |
评论
支持 Markdown