Skip to content
cccskills
FreePublished on GitHub

microservice-design

微服务架构设计时使用。覆盖服务拆分、通信模式、网关、服务发现、配置中心、分布式事务。

The English summary is being prepared. Showing the original description.

Works withKubernetes
See how to install

Files included (2)

  • SKILL.md6.4 KB
  • templates/microservice-design-template.md918 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

微服务架构设计(Microservice Design)

适用场景

  • 单体应用拆分为微服务
  • 新项目微服务架构设计
  • 服务间通信方案选型(HTTP / gRPC / MQ)
  • API 网关设计
  • 服务发现与注册
  • 配置中心
  • 分布式事务

与其他 skill 的分工

场景用什么
微服务架构 / 拆分 / 通信本 skill
单个服务内部实现api-implementation/
数据库设计data-access/
异步消息队列async-jobs/
部署编排(K8s)devops-engineer 工作流

核心原则

1. 单体优先——不要上来就微服务(团队 < 30 人大概率不需要)
2. 按业务域拆分——不是按技术层拆分
3. 数据库独立——每个服务有自己的数据库(不共享)
4. 接口契约先行——服务间通过 API 契约协作
5. 异步优于同步——减少级联故障
6. 最终一致 > 强一致——分布式场景不追求 ACID

何时用微服务?

┌─ 微服务决策 ───────────────────────────────────────────────┐
│                                                             │
│  用微服务(满足多个):                                      │
│    □ 团队 > 30 人,多团队并行开发                           │
│    □ 不同模块发布频率差异大(订单日发/用户月发)             │
│    □ 不同模块技术栈需求不同(Go 高性能 + Python AI)        │
│    □ 需要独立扩缩容(支付服务需要 10x 实例)               │
│                                                             │
│  用单体(满足任一):                                        │
│    □ 团队 < 10 人                                           │
│    □ 项目早期(MVP / 验证阶段)                             │
│    □ 业务边界不清晰                                         │
│    □ 没有 DevOps 能力支撑                                   │
│                                                             │
│  折中方案:模块化单体(Modular Monolith)                   │
│    - 单体部署,内部按域模块隔离                              │
│    - 未来可拆分(模块间通过接口通信,不直接依赖)           │
└─────────────────────────────────────────────────────────────┘

服务拆分方法

DDD 限界上下文(Bounded Context):
  1. 识别核心域 / 支撑域 / 通用域
  2. 每个限界上下文 = 一个潜在服务
  3. 聚合根 = 数据一致性边界

典型电商拆分:
  用户服务    → 注册/登录/个人信息/权限
  商品服务    → 商品/SKU/库存/分类
  订单服务    → 下单/状态流转/历史
  支付服务    → 支付/退款/对账
  通知服务    → 短信/邮件/推送/站内信
  搜索服务    → 全文搜索/推荐
  文件服务    → 上传/CDN/裁剪

通信模式

模式协议适合延迟
HTTP RESTHTTP/1.1~2通用、跨语言中
gRPCHTTP/2 + Protobuf内部高性能通信低
消息队列AMQP/Kafka异步解耦、削峰高(最终一致)
事件驱动Event Bus领域事件广播中~高

选择建议

同步查询(需要立即返回) → HTTP REST / gRPC
命令(可以异步处理)    → 消息队列
事件通知(一对多)      → Event Bus / Kafka
高性能内部通信          → gRPC

API 网关

功能:
  - 路由(/api/users → user-service)
  - 认证(统一 JWT 验证)
  - 限流(每 IP / 每用户 / 每服务)
  - 熔断(下游故障时快速失败)
  - 日志(统一 access log + traceId)
  - CORS(跨域统一处理)
  - 版本管理(/v1/ /v2/)

工具选型:
  Kong        — 功能最全,插件丰富(Lua)
  APISIX      — 国产高性能(Lua + etcd)
  Traefik     — K8s 原生,配置简单
  Nginx       — 最轻量(需要自己配)
  Spring Gateway — Java 生态
  Express Gateway — Node.js 小项目

分布式事务

方案对比:
  本地消息表    → 最简单,可靠性高
  最终一致(MQ)→ 最常用,异步补偿
  Saga 模式     → 长事务分步执行 + 补偿
  TCC           → 最严格,实现复杂

推荐:90% 场景用"本地消息表 + MQ + 重试"

本地消息表模式:
  1. 业务操作 + 写消息表(同一事务)
  2. 定时任务扫描消息表,发送 MQ
  3. 下游消费成功 → 标记完成
  4. 消费失败 → 重试(幂等保证)

生产化检查清单

□ 服务间有明确的 API 契约(OpenAPI/Proto)
□ 每个服务有独立数据库(不共享表)
□ 服务间通信有超时 + 重试 + 熔断
□ API 网关统一认证 + 限流 + 日志
□ 链路追踪(traceId 贯穿全链路)
□ 健康检查(/health 端点)
□ 配置中心管理(不硬编码地址)
□ 服务发现 or DNS(不硬编码 IP)
□ 异步通信有死信队列
□ 分布式事务方案明确(哪些需要一致性)
□ 每个服务独立 CI/CD
□ 灰度发布能力

常见坑

1. 过早拆分 → 拆完才发现业务边界错了
2. 共享数据库 → 耦合比单体还严重
3. 同步调用链太长 → A→B→C→D 一个挂全挂
4. 不做幂等 → 重试导致重复操作
5. 不做熔断 → 一个慢服务拖垮所有调用方
6. 分布式事务追求强一致 → 性能崩溃
7. 不做链路追踪 → 跨服务问题定位地狱
8. 没有 API 网关 → 每个前端都要知道每个服务地址
9. 配置硬编码 → 环境切换改 N 处
10. 日志不统一 → 跨服务拼日志花半天

配套模板

  • templates/microservice-design-template.md

与其他 skill 的协作

上游:
  api-designer → 服务间 API 契约
  product-manager → 业务域划分

下游:
  devops-engineer → K8s 部署 + 服务网格
  sre-operations → 全链路监控
  async-jobs → 消息队列实现

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

A/B 测试设计与分析时使用。适用于产品实验、功能验证、转化率优化。融合假设驱动 + 样本量计算 + 置信度判断。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

上线前业务方/产品方验收时使用。适用于功能交付确认、UAT、发布会签。融合 BDD Given-When-Then、Specification by Example、ATDD。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

设计无障碍可访问的界面时使用。适用于满足 WCAG 标准、键盘导航、屏幕阅读器支持。优先使用 WCAG 2.2 AA 级标准 + 键盘 + 焦点 + 对比度 + ARIA。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

实现可访问性(无障碍)时使用。覆盖 WCAG 2.2 AA / ARIA / 键盘导航 / 屏幕阅读器 / 颜色对比 / 焦点管理。融合 React Aria / Radix UI / Headless UI 实践 + axe-core 自动化测试。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

AI 模型部署时使用。适用于推理服务 / GPU / TensorRT / 监控 / 扩缩容。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

数据分析报告输出时使用。适用于业务分析报告、周报、专项分析、决策支持。融合洞察 + 建议 + 行动项。

The English summary is being prepared. Showing the original description.

zhaoxuya520/AI-Fullstack-Delivery-Workflow53Updated May 19, 2026

See all skills by zhaoxuya520

Report a problem with this skill