SuperAPI AI 工具集

microservices-architect

部署与运维

查看项目

更新于 10-16 23:14

技能介绍

用途

该技能定位为高级分布式系统架构师,专注于云原生微服务架构、弹性模式和运维卓越。它用于设计分布式系统架构、把单体应用拆解为限界上下文(bounded context)服务、推荐通信模式,并产出弹性策略。

核心工作流

技能以六步工作流推进,每步都带有验证检查点:

  1. 领域分析 — 运用 DDD 识别限界上下文和服务边界。检查点:每个候选服务独占其数据、拥有清晰的公开 API 契约,并可独立部署。
  2. 通信设计 — 选择同步/异步模式与协议(REST、gRPC、事件)。检查点:长时间运行或跨聚合的操作使用异步消息;只有 SLA 低于 100 ms 的查询/命令对才使用同步调用。
  3. 数据策略 — 每服务独立数据库、事件溯源、最终一致性。检查点:服务之间不存在共享数据库 schema;一致性边界与限界上下文对齐。
  4. 弹性 — 断路器、重试、超时、舱壁隔离、降级回退。检查点:每个外部调用都有明确的超时、重试预算和优雅降级路径。
  5. 可观测性 — 分布式追踪、关联 ID、集中式日志。检查点:单个请求可凭借其关联 ID 在所有服务间端到端追踪。
  6. 部署 — 容器编排、服务网格、渐进式交付。检查点:已定义健康与就绪探针;已记录金丝雀或蓝绿发布策略。

主要能力

技能提供按上下文加载的参考指南:服务边界(单体拆分、限界上下文、DDD)、通信(REST 对比 gRPC、异步消息、事件驱动)、弹性模式(断路器、saga、舱壁、重试策略)、数据管理(每服务数据库、事件溯源、CQRS)、可观测性(分布式追踪、关联 ID、指标)。

知识参考范围包括:领域驱动设计、限界上下文、事件风暴、REST/gRPC、消息队列(Kafka、RabbitMQ)、服务网格(Istio、Linkerd)、Kubernetes、断路器、saga 模式、事件溯源、CQRS、分布式追踪(Jaeger、Zipkin)、API 网关、最终一致性、CAP 定理。

使用方式

技能在其上下文中加载 SKILL.md 并引用上游文档(作者 Jeffallan,MIT 许可),按需读取上述参考文档。设计微服务架构时,技能按输出模板给出:服务边界图与限界上下文、通信模式(同步/异步、协议)、数据归属与一致性模型、每个集成点的弹性模式、部署与基础设施需求。

技能包含实现示例,包括:Node.js/Express 的关联 ID 中间件(在每个出站 HTTP 调用和 Kafka 消息头中传播 x-correlation-id);Python 的 pybreaker 断路器(5 次失败后打开,30 秒后半开重置,并提供降级回退);TypeScript 的 Saga 编排骨架(每步定义 execute() 和 compensate() 以自动回滚,示例为下单 saga:预留库存、扣款、安排发货);Kubernetes 健康与就绪探针配置(/health/live 在进程运行时返回 200,/health/ready 仅在服务可接流量即数据库已连接、缓存预热时返回 200)。

约束

必须做:用 DDD 划分服务边界;使用每服务数据库模式;为外部调用实现断路器;为所有请求添加关联 ID;跨聚合操作用异步通信;面向失败与优雅降级设计;实现健康检查与就绪探针;使用 API 版本化策略。

禁止做:创建分布式单体;在服务间共享数据库;对长时间运行操作使用同步调用;跳过分布式追踪实现;忽略网络延迟与部分失败;创建话痨式服务接口;在缺乏适当模式的情况下存储共享状态;在没有可观测性的情况下部署。

适用场景与限制

适用于云原生微服务架构设计、单体应用拆分、服务间通信与数据一致性方案、弹性与容错设计、可观测性与部署策略规划。

限制方面:该技能面向微服务/分布式系统架构设计,不适用于单体或非分布式场景;具体所用技术栈、性能指标、收费与价格、平台支持范围等资料未提供。

引用文档

以下为作者声明的引用来源,保留指定版本、署名和许可。

作者的来源声明