用途:该技能提供微服务架构的专家级辅助,围绕服务拆分、服务发现、分布式追踪、熔断器与数据库按服务隔离等主题展开。资料指出,微服务架构将应用组织为一组松耦合、可独立部署的服务,理想情况下每个服务对应一个限界上下文(DDD)。
适用场景:资料列出四类使用时机——不同业务能力(如视频处理与用户认证)需要独立扩缩容与部署;大型工程组织中解耦的跨职能团队需要互不干扰地部署;需要多语言技术栈(Python 用于 ML、Go/Rust 用于网络、Node 用于 API);以及故障域隔离,避免非关键功能的内存溢出拖垮核心支付链路。
主要能力与核心概念:数据库按服务隔离,每个微服务拥有私有数据库,服务间不得直接查询对方数据库表,而通过异步事件或 gRPC 通信;分布式追踪采用 W3C Trace Context,通过 traceparent 头在多次网络跳转间关联请求;熔断器与优雅降级在下游无响应时快速失败,防止线程耗尽级联。资料给出 opossum 熔断器示例,配置 timeout、errorThresholdPercentage、resetTimeout 与 fallback。
常见模式:熔断器模式用于应对下游依赖响应变慢导致的级联故障,将外部调用包裹在熔断器中快速失败并卸载流量。
最佳实践:应强制数据库按服务隔离;用 OpenTelemetry 追踪、Prometheus 指标与结构化 JSON 日志实现全面可观测性;用 Pact 契约测试在 CI/CD 中验证消费者与提供者 API 兼容性;采用 Envoy/Istio 服务网格实现自动 mTLS 加密与流量调度。不应第一天就上微服务,应先构建结构良好的模块化单体,待组织规模需要时再拆分;避免构建分布式单体(深层同步 HTTP 调用链);不要忽视分布式事务,应使用 Saga 模式或最终一致性而非两阶段提交。
排错:级联故障用熔断器与超时;数据不一致用 Saga 与幂等消费者;延迟过高用缓存、网关聚合或事件驱动数据复制。参考资料为《Building Microservices》(Sam Newman)与《Microservices Patterns》(Chris Richardson)。具体安装与集成方式暂未提供。