mcpField
M
microservices-patterns

microservices-patterns

github.com/wshobson开发41.9k13.4k 次安装2 周前更新
代码仓库

关于 microservices-patterns

为分布式系统设计者提供微服务架构模式指导,涵盖服务拆分、通信、数据管理与弹性设计。适用于从单体迁移及构建事件驱动系统等场景。

主要功能

  1. 01服务拆分策略
  2. 02同步与异步通信
  3. 03服务独立数据管理
  4. 04Saga 分布式事务
  5. 05熔断、重试与隔离

适用场景

  1. 01将单体应用逐步拆分为微服务
  2. 02定义服务边界与契约
  3. 03管理分布式数据和事务
  4. 04设计事件驱动架构

安装

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

$npx skills add https://github.com/wshobson/agents --skill microservices-patterns

安装后在 Claude Code 中输入/microservices-patterns确认已加载。

附带文件references/details.md

详细介绍

微服务模式

掌握微服务架构模式,包括服务边界、服务间通信、数据管理和韧性模式,以构建分布式系统。

何时使用本技能

  • 将单体拆分为微服务
  • 设计服务边界与契约
  • 实现服务间通信
  • 管理分布式数据与事务
  • 构建具备韧性的分布式系统
  • 实现服务发现与负载均衡
  • 设计事件驱动架构

核心概念

1. 服务拆分策略

按业务能力

  • 围绕业务职能组织服务
  • 每个服务拥有自己的领域
  • 示例:OrderService、PaymentService、InventoryService

按子域(DDD)

  • 核心域、支撑子域
  • 限界上下文映射到服务
  • 清晰的归属与职责

绞杀者模式

  • 从单体中逐步抽取
  • 将新功能实现为微服务
  • 通过代理将请求路由到旧/新系统
2. 通信模式

同步(请求/响应)

  • REST API
  • gRPC
  • GraphQL

异步(事件/消息)

  • 事件流(Kafka)
  • 消息队列(RabbitMQ、SQS)
  • 发布/订阅模式
3. 数据管理

每个服务一个数据库

  • 每个服务拥有自己的数据
  • 不共享数据库
  • 松耦合

Saga 模式

  • 分布式事务
  • 补偿操作
  • 最终一致性
4. 韧性模式

断路器

  • 在重复错误时快速失败
  • 防止级联故障

带退避的重试

  • 瞬时故障处理
  • 指数退避

舱壁

  • 隔离资源
  • 限制故障影响

详细模式与完整示例

详细的模式文档位于 references/details.md。当上述导航层级不足时,请阅读该文件。

评论

支持 Markdown