关于 microservices-patterns
microservices-patterns 是用于设计、实施和运维微服务架构的指导技能,按需提供服务边界、通信、数据管理、韧性、可观测性和部署参考。
主要功能
- 01服务拆分指导
- 02同步与异步通信模式
- 03数据一致性与事务模式
- 04韧性与可观测性实践
- 05部署与迁移策略
适用场景
- 01将单体应用拆分为服务
- 02设计服务通信与 API 契约
- 03规划服务间数据一致性
- 04准备有韧性的部署与迁移
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill microservices-patterns安装后在 Claude Code 中输入/microservices-patterns确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/communication-patterns.mddata-management.mddeployment-migration.mdobservability.mdresilience-patterns.mdservice-decomposition.mdvalidation/rubric.yaml详细介绍
微服务架构模式
设计、实现和运维微服务架构的专家指导。
何时使用此技能
- 将单体应用拆分为服务
- 从头开始设计分布式系统
- 实现服务通信模式(同步/异步)
- 管理服务间的数据一致性
- 构建具有韧性的分布式系统
- 定义服务边界和 API 契约
核心原则
- 单一职责 - 每个服务只有一个变更原因
- 独立部署 - 部署无需协调
- 数据分散管理 - 每个服务独占其数据
- 为故障而设计 - 接受故障,构建韧性
- 自动化一切 - 部署、扩缩容和恢复
快速参考
按需加载详细模式:
| 任务 | 加载参考资料 |
|---|---|
| 定义服务边界并拆分单体应用 | skills/microservices-patterns/references/service-decomposition.md |
| 实现服务通信(同步/异步) | skills/microservices-patterns/references/communication-patterns.md |
| 管理数据一致性和事务 | skills/microservices-patterns/references/data-management.md |
| 构建具有韧性的系统(断路器、重试) | skills/microservices-patterns/references/resilience-patterns.md |
| 添加可观测性(追踪、日志记录、指标) | skills/microservices-patterns/references/observability.md |
| 规划部署和迁移 | skills/microservices-patterns/references/deployment-migration.md |
工作流
1. 了解需求
- 梳理业务能力和领域
- 评估可扩展性/韧性需求
- 确定团队边界
2. 定义服务边界
加载 references/service-decomposition.md,了解:
- 业务能力拆分
- DDD 限界上下文
- 服务边界验证
3. 设计通信方式
加载 references/communication-patterns.md,了解:
- 同步:API Gateway、REST、gRPC
- 异步:消息队列、Pub/Sub、事件溯源
4. 管理数据
加载 references/data-management.md,了解:
- 每个服务一个数据库模式
- Saga 分布式事务
- CQRS 读写优化
5. 构建韧性
加载 references/resilience-patterns.md,了解:
- 断路器
- 指数退避重试
- 舱壁隔离
- 限流和超时
6. 添加可观测性
加载 references/observability.md,了解:
- 分布式追踪
- 集中式日志记录
- 指标和监控
7. 规划部署
加载 references/deployment-migration.md,了解:
- 蓝绿、金丝雀、滚动部署
- 绞杀者模式迁移
常见错误
- 分布式单体 - 紧密耦合,必须一起部署
- 共享数据库 - 多个服务访问同一个数据库
- 过多的 API 调用 - 服务间存在过多同步调用
- 缺少断路器 - 无法防止级联故障
- 缺少可观测性 - 未配置追踪/日志记录/指标就进行部署
- 忽略网络故障 - 假设网络可靠
- 没有 API 版本控制 - 发生破坏性变更时未进行版本控制
修复方法:加载相关参考文件,了解详细解决方案。
资源
- 书籍:《Building Microservices》(Newman)、《Microservices Patterns》(Richardson)
- 网站:microservices.io、martinfowler.com/microservices
- 工具:Kubernetes、Istio、Kafka、Kong、Jaeger、Prometheus
评论
支持 Markdown