Skip to content

技术栈全景图

一、当前最流行的 Spring Cloud 微服务技术栈

                              ┌──────────────────────┐
                              │    前端 / 客户端       │
                              │  Vue3 / React / 小程序 │
                              └──────────┬───────────┘
                                         │ HTTPS

                              ┌──────────────────────┐
                              │   Nginx / SLB (负载均衡)│
                              └──────────┬───────────┘


┌─────────────────────────────────────────────────────────────────────────────┐
│                          Spring Cloud 微服务技术栈                             │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │                         服务治理层                                    │    │
│  │                                                                     │    │
│  │   ┌──────────────────┐    ┌──────────────────┐    ┌──────────────┐  │    │
│  │   │   Nacos 2.x      │    │  Spring Cloud    │    │  LoadBalancer│  │    │
│  │   │   (注册+配置)     │    │  Gateway (网关)   │    │  (负载均衡)   │  │    │
│  │   │                  │    │                  │    │              │  │    │
│  │   │  • 服务发现      │    │  • 路由转发      │    │  • Ribbon →  │  │    │
│  │   │  • 配置管理      │    │  • 鉴权限流      │    │  • 轮询/加权 │  │    │
│  │   │  • 健康检查      │    │  • 灰度发布      │    │  • 响应式    │  │    │
│  │   └──────────────────┘    └──────────────────┘    └──────────────┘  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │                         服务调用层                                    │    │
│  │                                                                     │    │
│  │   ┌──────────────────┐    ┌──────────────────┐    ┌──────────────┐  │    │
│  │   │   OpenFeign      │    │  Spring Cloud    │    │   gRPC       │  │    │
│  │   │   (声明式HTTP)    │    │  Stream (消息)    │    │  (高性能RPC)  │  │    │
│  │   │                  │    │                  │    │              │  │    │
│  │   │  • 注解驱动      │    │  • 消息抽象      │    │  • HTTP/2    │  │    │
│  │   │  • 动态代理      │    │  • 函数式编程    │    │  • Protobuf  │  │    │
│  │   │  • 负载均衡      │    │  • 绑定器切换    │    │  • 双向流    │  │    │
│  │   │  • 拦截器        │    │                  │    │              │  │    │
│  │   └──────────────────┘    └──────────────────┘    └──────────────┘  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │                         弹性容错层                                    │    │
│  │                                                                     │    │
│  │   ┌──────────────────┐    ┌──────────────────┐    ┌──────────────┐  │    │
│  │   │   Sentinel       │    │   Resilience4j   │    │   Seata      │  │    │
│  │   │   (流量治理)      │    │   (容错框架)      │    │  (分布式事务) │  │    │
│  │   │                  │    │                  │    │              │  │    │
│  │   │  • 流量控制      │    │  • 熔断器        │    │  • AT 模式   │  │    │
│  │   │  • 熔断降级      │    │  • 重试          │    │  • TCC 模式  │  │    │
│  │   │  • 系统保护      │    │  • 限流          │    │  • Saga 模式 │  │    │
│  │   └──────────────────┘    └──────────────────┘    └──────────────┘  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │                         可观测性层                                    │    │
│  │                                                                     │    │
│  │   ┌──────────────────┐    ┌──────────────────┐    ┌──────────────┐  │    │
│  │   │  Micrometer      │    │   SkyWalking     │    │  Prometheus  │  │    │
│  │   │  Tracing (Sleuth) │    │   (APM)          │    │  + Grafana   │  │    │
│  │   │                  │    │                  │    │  (监控告警)   │  │    │
│  │   │  • TraceId 透传  │    │  • Java Agent    │    │  • 指标采集  │  │    │
│  │   │  • Span 管理     │    │  • 调用链可视化  │    │  • 面板展示  │  │    │
│  │   │  • 日志关联      │    │  • 服务拓扑图    │    │  • 告警通知  │  │    │
│  │   └──────────────────┘    └──────────────────┘    └──────────────┘  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────────────────┘

二、技术栈选型对比

注册中心

维度NacosEurekaConsulZookeeper
CAPAP/CP 可切换APCPCP
配置中心内置内置需额外开发
健康检查心跳+主动探测心跳心跳+主动探测心跳
一致性协议Distro / RaftRaftZAB
维护状态活跃停维活跃活跃
推荐度★★★★★★★★★★★★★

网关

维度Spring Cloud GatewayKongAPISIXZuul
性能高(Netty)高(OpenResty)高(OpenResty)低(Servlet)
语言JavaLuaLuaJava
插件生态一般丰富丰富一般
Spring 集成原生需配置需配置原生
推荐度★★★★★★★★★★★★★★★

熔断限流

维度SentinelResilience4jHystrix
流量控制极强(QPS/线程/热点/链路)有限
熔断策略3 种(慢调用/异常比例/异常数)2 种1 种
控制台可视化Dashboard
规则动态修改支持有限有限
维护状态活跃活跃停维
推荐度★★★★★★★★★

消息队列

维度RocketMQKafkaRabbitMQ
吞吐量极高中等
事务消息原生支持需额外实现需额外实现
顺序消息原生支持分区内有序需额外配置
延时消息18 个级别插件
适用场景电商、金融日志、流处理通用业务
推荐度★★★★★(电商)★★★★★(流处理)★★★★(通用)

三、推荐组合方案

方案一:Spring Cloud Alibaba 全家桶(推荐)

Nacos + Gateway + OpenFeign + LoadBalancer + Sentinel + RocketMQ + Seata + SkyWalking

优势: 阿里生产验证,中文社区活跃,组件功能互补,几乎覆盖所有场景。 适用: 新项目,中小型到大型电商、金融等业务场景。

方案二:Spring Cloud Netflix 经典组合(存量项目)

Eureka + Zuul + Ribbon + Feign + Hystrix + Sleuth + Zipkin

优势: 经典方案,资料丰富,大量存量项目使用。 劣势: 多个组件已停维,不推荐新项目使用。

方案三:Service Mesh 混合方案(超大规模)

Istio + Nacos + Sentinel + Gateway + Feign

优势: 流量治理下沉到 Sidecar,业务代码无侵入。 适用: 100+ 微服务,多语言技术栈,需要细粒度流量治理。

四、技术栈演进路线

阶段一:单体应用
  Spring Boot + MySQL + Redis

阶段二:初步微服务化
  Spring Boot + Nacos + Gateway + OpenFeign + LoadBalancer

阶段三:完善治理体系
  + Sentinel (流量治理) + Sleuth/SkyWalking (链路追踪) + RocketMQ (异步解耦)

阶段四:生产级高可用
  + Seata (分布式事务) + K8s (容器编排) + Prometheus/Grafana (监控告警)

阶段五:服务网格
  + Istio (Service Mesh) + 多活架构