Skip to content

• Spring Cloud = 网关 → 发现 → 负载 → 调用 → 容错 → 追踪 → 消息 → 部署 全链路套件。
(从上到下,按请求链路出现顺序)

  1. 接入层
    • Spring Cloud Gateway / Zuul
    作用:统一路由、鉴权、限流、灰度发布

  2. 服务发现 & 配置中心
    • Nacos / Eureka / Consul
    作用:实例注册、健康检查、动态配置推送

  3. 负载均衡
    • Ribbon(已维护模式) / Spring Cloud LoadBalancer
    作用:本地进程内软负载,把请求均匀打到下游实例

  4. 服务调用
    • OpenFeign
    作用:声明式 HTTP 客户端,像调本地方法一样调远程 HTTP

  5. 容错
    • Sentinel / Hystrix
    作用:熔断、降级、热点参数限流、系统自适应保护

  6. 链路追踪
    • Sleuth + Zipkin / SkyWalking
    作用:跨进程调用链聚合,定位慢 SQL、慢接口

  7. 消息 & 事件
    • Spring Cloud Stream(RocketMQ/Kafka/Rabbit 绑定器)
    作用:事件驱动、削峰填谷、最终一致性

  8. 任务调度
    • Spring Cloud Task + Kubernetes Job
    作用:一次性任务编排与生命周期管理

  9. 部署 & 运维
    • Spring Boot 2.3+ 的 Buildpacks → 一键镜像
    • Spring Cloud Kubernetes → 把 K8s Service/ConfigMap 自动注入到 Spring Environment

最小代码示例

java
@FeignClient("order-service")
public interface OrderClient {
    @GetMapping("/orders/{id}")
    OrderDTO findById(@PathVariable Long id);
}

Gateway 路由示例

yaml
spring:
  cloud:
    gateway:
      routes:
        - id: order
          uri: lb://order-service
          predicates:
            - Path=/api/order/**