mcpField
M
microservices-architect

microservices-architect

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

关于 microservices-architect

Microservices Architect 是用于设计和实施微服务架构的技能,面向构建或拆分服务的团队。它涵盖服务边界、通信模式、分布式事务及韧性设计。

主要功能

  1. 01服务边界与 API 设计
  2. 02单体拆分指导
  3. 03同步与异步通信模式
  4. 04服务网格与网关规划
  5. 05Saga 事务设计
  6. 06韧性与故障处理

适用场景

  1. 01将单体应用拆分为服务
  2. 02规划服务间通信方式
  3. 03实施服务网格
  4. 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. 服务拆分
  1. 从领域模型中识别限界上下文
  2. 定义服务职责(单一用途)
  3. 为每个服务设计 API
  4. 确定每个服务的数据所有权
  5. 规划服务间通信
  6. 定义部署策略
2. 服务网格实现
  1. 选择网格(Istio、Linkerd、Consul)
  2. 部署 Sidecar 代理
  3. 配置流量管理
  4. 实现 mTLS 以确保安全
  5. 设置可观测性(追踪、指标)
  6. 定义重试和断路器策略
3. Saga 模式实现
  1. 识别分布式事务边界
  2. 选择编排或协同模式
  3. 定义补偿事务
  4. 实现 Saga 协调器(如果采用编排模式)
  5. 处理故障场景
  6. 添加 Saga 状态监控

最佳实践

  • 围绕业务能力设计服务,而非围绕技术层设计
  • 管理好自己的数据——每个服务管理自己的数据库
  • 使用异步通信实现松耦合
  • 实现断路器以增强容错能力
  • 面向故障进行设计——一切最终都会发生故障
  • 使用关联 ID 进行分布式追踪

反模式

反模式问题正确做法
分布式单体服务彼此耦合,兼具两者之弊真正的限界上下文
共享数据库紧密耦合每个服务使用独立数据库
同步调用链故障级联尽可能使用异步通信
没有断路器故障级联实现 Hystrix/Resilience4j
纳米服务运维开销过大适当规模的服务

评论

支持 Markdown