用途:作为资深分布式系统架构技能,用于设计云原生微服务架构、将单体拆分为限界上下文服务、推荐通信模式,并产出服务边界与架构方案。
主要能力与工作流:
- 领域分析:用 DDD 识别限界上下文与服务边界;校验每个候选服务独占数据、有清晰公共 API 契约、可独立部署。
- 通信设计:选择同步/异步模式与协议(REST、gRPC、事件);长耗时或跨聚合操作使用异步消息,仅亚 100ms SLA 的查询/命令对用同步调用。
- 数据策略:每服务独立数据库、事件溯源、最终一致性;服务间不共享数据库模式。
- 弹性:熔断、重试、超时、舱壁、降级;每次外部调用需有显式超时、重试预算与优雅降级路径。
- 可观测性:分布式追踪、关联 ID、集中日志;单次请求可凭关联 ID 端到端追踪。
- 部署:容器编排、服务网格、渐进式交付;定义健康与就绪探针,记录金丝雀或蓝绿发布策略。
参考文档按上下文加载:服务边界 references/decomposition.md;通信 references/communication.md;弹性模式 references/patterns.md;数据管理 references/data.md;可观测性 references/observability.md。
实现示例包括:Node.js/Express 关联 ID 中间件(读取或生成 x-correlation-id 并写入响应头与日志上下文,并在所有出站 HTTP 调用和 Kafka 消息头中传播);Python pybreaker 熔断器(fail_max=5、reset_timeout=30,超时 2 秒,熔断时返回降级结果);TypeScript Saga 编排骨架(每步定义 execute() 与 compensate(),失败时逆序补偿);Kubernetes 存活与就绪探针(/health/live 进程存活返回 200,/health/ready 仅在可服务流量时返回 200)。
约束:必须应用 DDD 划分边界、每服务独立数据库、外部调用加熔断、所有请求加关联 ID、跨聚合用异步通信、为失败设计并优雅降级、实现健康检查与就绪探针、使用 API 版本策略;不得构建分布式单体、共享数据库、对长耗时操作使用同步调用、跳过分布式追踪、忽略网络延迟与部分失败、创建频繁往返的服务接口、无正确模式存储共享状态、无可观测性即部署。
输出模板:服务边界图与限界上下文、通信模式(同步/异步与协议)、数据归属与一致性模型、每个集成点的弹性模式、部署与基础设施需求。
适用场景:单体拆分、微服务架构评审与设计、跨服务数据一致性方案、弹性与可观测性规划。限制:资料未提供具体收费、价格、平台支持范围与效果数据,暂未提供。