这套方案对标 Spring Cloud Alibaba + Kubernetes 生态,组件全部是新版(2024~2026 年主流)且生产验证过的。
流量入口与网关
| 组件 |
选型 |
作用 |
| 反向代理 / 负载均衡 |
Nginx / OpenResty |
第一层接入,SSL 终结,流量分发 |
| API 网关 |
Spring Cloud Gateway (Java 体系首选,响应式) |
动态路由、身份认证、限流、跨域、日志 |
| 备用网关 |
APISIX / Kong |
性能极高,适合非 Java 中心化网关 |
微服务核心框架
| 组件 |
选型 |
作用 |
| 注册中心 |
Nacos 2.x |
服务发现、健康检查、元数据管理 |
| 配置中心 |
Nacos 或 Apollo |
配置热更新、灰度推送、审计 |
| RPC 框架 |
Dubbo 3 (Triple/gRPC 协议) |
高性能 Java RPC,跨语言支持 |
| HTTP 调用 |
OpenFeign + Spring Cloud LoadBalancer |
声明式 HTTP 客户端,微服务间调用更轻量 |
| 应用基座 |
Spring Boot 3.x + Spring Cloud 2023.x |
JDK17+,AOT 编译预热 |
服务治理与稳定性
| 组件 |
选型 |
作用 |
| 限流 / 熔断 / 降级 |
Sentinel (阿里) |
流量控制、系统负载保护、控制台实时监控 |
| 分布式事务 |
Seata |
AT、TCC、Saga 模式,解决跨服务数据一致性 |
| 灰度发布 |
Nacos 路由 + Spring Cloud LoadBalancer 或 Istio |
按标签、权重分流,实现金丝雀发布 |
| 分布式锁 |
Redisson (基于 Redis) |
自动续期、可重入、读写锁 |
| 分布式 ID 生成 |
Leaf (美团) / Snowflake 变种 |
全局唯一、趋势递增 |
缓存层
| 组件 |
选型 |
作用 |
| 分布式缓存 |
Redis 7.x Cluster / Sentinel |
分片、高可用、支持 Redis Stack 的 JSON/搜索等 |
| 本地缓存 |
Caffeine |
极致性能,与 Spring Cache 无缝整合 |
| 缓存同步 |
Canal + MQ |
监听 MySQL Binlog,实时刷新缓存,保证一致 |
消息与事件驱动
| 组件 |
选型 |
作用 |
| 消息中间件 |
RocketMQ 5.x (业务解耦首选) |
事务消息、延迟消息、高吞吐,双十一验证 |
| 日志 / 大数据流 |
Kafka |
海量数据管道,常与 ELK 搭配 |
| 简单易用 |
RabbitMQ |
中小规模,协议标准 |
| 事件驱动框架 |
Spring Cloud Stream |
统一编程模型,屏蔽底层 MQ 差异 |
存储体系
| 组件 |
选型 |
作用 |
| 关系型数据库 |
MySQL 8.0 / PostgreSQL 15 |
主从复制,读写分离 |
| 分库分表中间件 |
ShardingSphere-Proxy / JDBC |
水平扩展,影子库压测,数据脱敏 |
| 搜索引擎 |
Elasticsearch 8.x 或 OpenSearch |
全文搜索、日志存储、APM 数据 |
| NoSQL |
MongoDB |
海量文档、地理位置查询 |
| 对象存储 |
MinIO (兼容 S3) |
图片、文件、备份的廉价存储 |
| 数据同步 |
Canal + DataX |
异构数据实时同步、离线迁移 |
可观测性(监控、日志、追踪、告警)
| 领域 |
选型 |
作用 |
| Metrics 指标 |
Micrometer + Prometheus + Grafana |
JVM、接口 QPS、RT、错误率,统一大盘 |
| Tracing 链路追踪 |
Apache SkyWalking 9.x (Java 无侵入) |
自动埋点,看到完整调用链和慢查询 |
| Logging 日志 |
Filebeat → Elasticsearch ← Kibana 或 Loki + Grafana |
集中收集、全文检索、关联 Trace ID |
| 告警 |
Prometheus Alertmanager + 钉钉/企业微信/飞书 |
多条件静默、聚合告警、值班通知 |
| 健康检查 |
Spring Boot Actuator + Prometheus 抓取 |
暴露 liveness / readiness 探针,配合 K8s 自愈 |
容器化与云原生基础设施
| 组件 |
选型 |
作用 |
| 容器 |
Docker |
标准化打包 |
| 编排调度 |
Kubernetes (K8s) |
自动扩缩、滚动发布、服务发现、ConfigMap/Secret |
| 应用包管理 |
Helm |
一键部署整套微服务 |
| 服务网格 |
Istio (可选,治理下沉) |
不侵入代码的流控、加密、可观测 |
| 镜像仓库 |
Harbor |
私有化安全存储,漏洞扫描 |
CI / CD 持续交付
| 组件 |
选型 |
作用 |
| 构建 |
Maven / Gradle + Docker Build |
编译、打包镜像 |
| 持续集成 |
Jenkins / GitLab CI / GitHub Actions |
提交即编译、跑单测、代码扫描 |
| 持续部署 |
ArgoCD (GitOps 模式) |
声明式部署,版本回滚一键完成 |
| 代码质量 |
SonarQube |
静态代码分析,堵住 bug 漏洞 |
安全与认证
| 组件 |
选型 |
作用 |
| 认证授权中心 |
Keycloak / Spring Authorization Server |
OAuth 2.1, OIDC, 单点登录 |
| 网关鉴权 |
在 Spring Cloud Gateway 全局 Filter 校验 JWT |
统一入口安全 |
| 权限框架 |
Sa-Token (轻量,Servlet 友好) |
注解鉴权、多端统一 |
| 密钥管理 |
HashiCorp Vault |
数据库密码、AK 动态轮转,不写死在代码里 |
其他必不可少的中间件
| 领域 |
选型 |
作用 |
| 分布式任务调度 |
XXL-JOB / PowerJob |
定时任务分片、失败重试、动态调度 |
| 接口文档 |
SpringDoc OpenAPI + Knife4j |
自动生成 Swagger 文档,在线调试 |
| 压力测试 |
JMeter / Grafana K6 |
全链路压测,找到系统瓶颈 |
| 数据可视化 |
Grafana 通用大盘 / 阿里 DataV |
业务趋势看板,非开发人员也能看 |
推荐一套可直接学习的黄金组合
可以按下面这个组合去 GitHub 找 Demo 练习,覆盖了 90% 的生产需求:
- 基础框架:Spring Boot 3.x + Spring Cloud 2023.x + Spring Cloud Alibaba 2023.x
- 注册/配置:Nacos 2.x
- RPC:Dubbo 3 (Triple)
- 限流/熔断:Sentinel
- 事务:Seata
- 消息:RocketMQ 5.x
- 缓存:Redis 7 Cluster + Caffeine
- 数据库:MySQL 8.0 + ShardingSphere-JDBC
- 可观测:Prometheus + Grafana + SkyWalking + ELK + Alertmanager
- 容器:Kubernetes + Helm + ArgoCD
学习路径建议:
先把 Nacos + Dubbo + Sentinel 跑通,然后逐步加 RocketMQ、Seata、SkyWalking,最后迁移到 K8s 上部署。这样一层层叠加上去,你会发现每一个组件都在解决分布式系统实实在在的痛点,而不再是公司里那套凑合能用的古老轮子。