关于 microservices-architecture
用于设计、实现和维护微服务架构的指南,涵盖服务边界、通信、数据一致性、部署和分布式系统可观测性。
主要功能
- 01服务边界设计
- 02服务通信模式
- 03API 网关与服务发现
- 04数据一致性模式
- 05部署与可观测性实践
适用场景
- 01设计新的微服务系统
- 02拆分单体应用
- 03规划服务间通信
- 04独立扩展各项服务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill microservices-architecture安装后在 Claude Code 中输入/microservices-architecture确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-gateway-pattern.mdcommunication-patterns.mddata-consistency-patterns.mdservice-boundary-design.mdservice-discovery.mdservice-mesh-istio.mdscripts/validate-config.shtemplates/config-starter.yaml详细介绍
微服务架构
目录
概述
全面介绍微服务架构的设计、实现和维护。涵盖服务拆分、通信模式、数据管理、部署策略以及分布式系统的可观测性。
适用场景
- 设计新的微服务架构
- 拆分单体应用
- 实现服务间通信
- 设置 API 网关和服务网格
- 实现服务发现
- 管理分布式事务
- 设计服务间的数据一致性
- 独立扩展服务
快速入门
最小可用示例:
Bounded Contexts:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Order Service │ │ User Service │ │ Payment Service │
│ │ │ │ │ │
│ - Create Order │ │ - User Profile │ │ - Process Pay │
│ - Order Status │ │ - Auth │ │ - Refund │
│ - Order History │ │ - Preferences │ │ - Transactions │
└─────────────────┘ └─────────────────┘ └─────────────────┘
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 服务边界设计 | 服务边界设计 |
| 通信模式 | 通信模式 |
| API 网关模式 | API 网关模式 |
| 服务发现 | 服务发现 |
| 数据一致性模式 | 数据一致性模式 |
| 服务网格(Istio) | 服务网格(Istio) |
最佳实践
✅ 应该做
- 围绕业务能力设计服务
- 尽可能使用异步通信
- 实现熔断器以增强弹性
- 使用 API 网关处理横切关注点
- 实现分布式追踪
- 使用服务网格进行服务间通信
- 针对故障进行设计(混沌工程)
- 为所有服务实现健康检查
- 使用关联 ID 跟踪请求
- 为 API 设置版本
- 实施完善的监控和告警
- 使用事件驱动架构实现松耦合
- 实现幂等操作
- 使用每个服务一个数据库的模式
❌ 不应该做
- 在服务之间共享数据库
- 创建过度细分的服务(纳米服务)
- 使用分布式事务(两阶段提交)
- 忽略网络延迟和故障
- 在服务之间共享领域模型
- 将所有服务作为一个整体部署
- 硬编码服务 URL
- 忘记实现身份验证/授权
- 对长时间运行的操作使用同步调用
- 忽略向后兼容性
- 跳过监控和日志记录
- 在服务之间创建循环依赖
评论
支持 Markdown