Java Microservices 是一个用于构建生产级微服务的技能,基于 Spring Cloud 与分布式系统模式。
用途 适用于以下场景:设计微服务架构、实现服务间通信、配置弹性模式、搭建事件驱动消息、添加分布式追踪。
主要内容
- Spring Cloud 组件:Config Server(集中式配置)、服务发现(Eureka、Consul)、API 网关(Spring Cloud Gateway)、负载均衡(Spring Cloud LoadBalancer)。
- 弹性模式:熔断(Resilience4j)、带退避的重试、舱壁隔离、限流。
- 事件驱动架构:Apache Kafka 集成、Spring Cloud Stream、Saga 模式、事件溯源基础。
- 可观测性:分布式追踪(Micrometer)、指标(Prometheus)、日志关联。
使用方式 通过 Skill("java-microservices") 调用。文档给出若干参考代码片段:基于编排的 Saga(使用 @KafkaListener 监听 order.created 与 payment.failed 事件,失败时执行补偿事务释放库存并取消订单)、Resilience4j 熔断器配置(失败率阈值 50、开启状态等待 30 秒、滑动窗口大小 10)、Spring Cloud Gateway 路由配置(stripPrefix 过滤器、熔断器 order-cb、重试 3 次,路由到 lb://order-service),以及可观测性配置(追踪采样概率、暴露 health/info/metrics/prometheus 端点、日志 pattern 中加入 traceId 与 spanId)。
常见模式 Saga 流程:Order → Inventory → Payment →(成功 | 补偿)。熔断器状态流转:CLOSED →(失败超过阈值)→ OPEN;OPEN →(等待时长)→ HALF_OPEN;HALF_OPEN →(成功)→ CLOSED;HALF_OPEN →(失败)→ OPEN。
排查指南 常见问题与对策:级联失败——缺少熔断器,添加 Resilience4j;消息丢失——无确认,启用手动 ack;数据不一致——无补偿,实现 Saga;服务未找到——发现延迟,调整心跳。调试检查清单:追踪请求(traceId)、检查熔断器状态、验证 Kafka 消费者延迟、审查网关路由、监控重试次数。
相关技能 java-spring-boot、java-docker(容器化)。
限制 本资料未提供具体的安装命令、收费或价格信息,也未说明支持的平台与版本要求,这些事实暂未提供。