文章目录
-
- 一、开篇:35节课的终点,架构师之路的起点
- 二、全套架构优缺点复盘
-
- [2.1 技术栈全景回顾](#2.1 技术栈全景回顾)
- [2.2 这套架构的优势](#2.2 这套架构的优势)
- [2.3 这套架构的局限与应对](#2.3 这套架构的局限与应对)
- 三、性能调优实战
-
- [3.1 高频性能瓶颈清单](#3.1 高频性能瓶颈清单)
- [3.2 接口调优实战:从3秒到50ms](#3.2 接口调优实战:从3秒到50ms)
- [3.3 GC优化实战](#3.3 GC优化实战)
- [3.4 集群扩容策略](#3.4 集群扩容策略)
- 四、高频面试题总结
-
- [4.1 注册配置中心(Nacos)](#4.1 注册配置中心(Nacos))
- [4.2 服务调用(OpenFeign + LoadBalancer)](#4.2 服务调用(OpenFeign + LoadBalancer))
- [4.3 网关(Gateway)](#4.3 网关(Gateway))
- [4.4 熔断限流(Sentinel)](#4.4 熔断限流(Sentinel))
- [4.5 分布式事务(Seata)](#4.5 分布式事务(Seata))
- [4.6 消息驱动(RocketMQ)](#4.6 消息驱动(RocketMQ))
- [4.7 监控追踪](#4.7 监控追踪)
- 五、生产避坑大全
-
- [5.1 注册配置中心](#5.1 注册配置中心)
- [5.2 服务通信](#5.2 服务通信)
- [5.3 网关](#5.3 网关)
- [5.4 熔断限流](#5.4 熔断限流)
- [5.5 监控追踪](#5.5 监控追踪)
- [5.6 分布式事务](#5.6 分布式事务)
- [5.7 容器化部署](#5.7 容器化部署)
- 六、进阶学习路线
-
- [6.1 从微服务到云原生](#6.1 从微服务到云原生)
- [6.2 从Spring Cloud到Service Mesh](#6.2 从Spring Cloud到Service Mesh)
- [6.3 推荐学习资源](#6.3 推荐学习资源)
- 七、全专栏总结
-
- [7.1 技术能力清单](#7.1 技术能力清单)
- [7.2 最后的建议](#7.2 最后的建议)
- 八、结语
- [🔗《最新版 SpringCloud 2025 从入门到实战》系列课程导航](#🔗《最新版 SpringCloud 2025 从入门到实战》系列课程导航)

适配版本 :Spring Cloud 2025.1.3(Oakwood)、Spring Boot 4.0.8、JDK 21
课程定位:全专栏收官,架构复盘 + 性能调优 + 面试总结 + 进阶路线
一、开篇:35节课的终点,架构师之路的起点
从第1课到第34课,我们完成了从"微服务是什么"到"完整的电商微服务项目上线"的完整旅程。回顾这条路径:
| 阶段 | 课程 | 核心产出 |
|---|---|---|
| 前置基础 | 第1-5课 | 微服务认知、Spring Boot 4.0、多模块工程 |
| 注册配置 | 第6-12课 | Nacos注册中心、配置中心、加密回溯 |
| 服务通信 | 第13-16课 | LoadBalancer、OpenFeign、超时重试、幂等 |
| 网关 | 第17-20课 | Gateway、路由过滤、动态网关、限流安全 |
| 熔断限流 | 第21-24课 | Sentinel架构、流控、熔断、网关限流 |
| 监控追踪 | 第25-28课 | Actuator、Prometheus+Grafana、SkyWalking、ELK |
| 高阶特性 | 第29-31课 | 异步调用、Seata、消息驱动 |
| 项目实战 | 第32-35课 | 架构设计、整合调试、容器化部署、复盘调优 |
这35课覆盖了Spring Cloud 2025的全部核心能力。但"学完"不等于"精通"。本课的核心任务不是引入新技术,而是帮你把散落的知识点串联成体系,把"知道怎么用"升华为"知道为什么这样用、什么时候不该用"。
本课将完成四件事:架构复盘 (这套技术栈的优缺点是什么)、性能调优 (生产环境的高频瓶颈如何解决)、面试总结 (高频考点和答题框架)、进阶路线(下一步学什么)。
二、全套架构优缺点复盘
2.1 技术栈全景回顾
| 模块 | 选型 | 版本 | 替代方案 |
|---|---|---|---|
| 注册中心 | Nacos | 3.1.1 | Consul、Zookeeper |
| 配置中心 | Nacos Config | 3.1.1 | Spring Cloud Config |
| 网关 | Spring Cloud Gateway | 5.0.0 | Zuul(已淘汰)、APISIX |
| 服务调用 | OpenFeign | 5.0.0 | @HttpExchange、RestClient |
| 负载均衡 | Spring Cloud LoadBalancer | 5.0.0 | --- |
| 熔断限流 | Sentinel | 1.8.9 | Resilience4j |
| 分布式事务 | Seata | 2.5.0 | 本地消息表、TCC |
| 消息驱动 | RocketMQ | 5.3.1 | RabbitMQ、Kafka |
| 链路追踪 | SkyWalking | 10.4.0 | Zipkin、Jaeger |
| 指标监控 | Prometheus + Grafana | 3.x / 11.x | --- |
| 日志体系 | ELK | 8.15 | Loki |
2.2 这套架构的优势
优势一:全栈国产化友好。 Nacos、Sentinel、Seata、RocketMQ均来自阿里巴巴体系,国内社区活跃、中文文档完善、问题排查资料丰富。与Spring Cloud Alibaba的整合度极高。
优势二:可观测性完整。 Actuator暴露指标 → Prometheus采集 → Grafana展示 → SkyWalking追踪链路 → ELK集中日志,形成完整的可观测性闭环。
优势三:双栈网关的灵活性。 Gateway 5.0的WebFlux/WebMVC双栈支持,让团队可以根据技术背景选择,不必强制掌握Reactor。
优势四:JDK 21虚拟线程红利。 Spring Boot 4.0默认虚拟线程,大幅提升了IO密集型场景的并发能力,同时降低了线程池调优的复杂度。
2.3 这套架构的局限与应对
局限一:Nacos集群运维复杂度高。 3节点集群 + MySQL主从 + Raft一致性,运维门槛不低。应对:中小团队可使用阿里云MSE托管版,或从2节点+定期备份起步。
局限二:Seata AT模式的性能开销。 全局锁 + undo_log写入,在高并发场景下性能下降明显。应对:仅在核心链路(支付、订单)使用AT模式,非核心链路使用消息驱动+最终一致性。
局限三:SkyWalking + ELK的资源消耗。 ES集群至少需要3节点×8核16G。应对:中小规模可用单节点ES + 降低采样率,或使用Loki替代ELK。
局限四:技术栈碎片化。 Nacos、Sentinel、Seata、RocketMQ、SkyWalking、ELK、Prometheus各自有独立的控制台和运维方式。应对:通过CI/CD统一管理,或使用云厂商的一站式可观测性平台。
三、性能调优实战
3.1 高频性能瓶颈清单
| 瓶颈类型 | 典型现象 | 排查工具 | 优化方向 |
|---|---|---|---|
| 数据库慢查询 | 接口P99飙升,SQL耗时占比高 | SkyWalking链路 + 慢查询日志 | 加索引、分库分表 |
| 连接池耗尽 | 请求排队,Connection is not available |
HikariCP指标 | 调大连接池、优化慢SQL |
| 线程池打满 | 请求堆积,RejectedExecutionException |
线程池指标 | 调参、异步化、扩容 |
| Full GC频繁 | 响应时间周期性抖动 | GC日志 + Grafana | 调堆大小、换GC器 |
| Feign超时 | 下游调用失败率上升 | SkyWalking + Feign日志 | 调超时、重试、熔断 |
| 网关限流过严 | 正常请求被429 | Sentinel Dashboard | 调整阈值、加白名单 |
| Nacos推送延迟 | 配置变更后生效慢 | Nacos日志 | 检查gRPC长连接 |
| 消息堆积 | 消费延迟持续增长 | RocketMQ控制台 | 加消费者、优化消费逻辑 |
3.2 接口调优实战:从3秒到50ms
优化前:订单详情接口P99=3200ms。
排查过程:
SkyWalking链路:
OrderController.getOrderDetail (3200ms)
├── OrderService.queryOrder (3180ms)
│ ├── UserClient.getUserById (1500ms) ← 串行调用1
│ ├── ProductClient.getProductById (1200ms) ← 串行调用2
│ └── StockClient.getStock (400ms) ← 串行调用3
根因:三个Feign调用串行执行,总耗时 = 1500 + 1200 + 400 = 3100ms。
优化方案:
java
// 优化后:并行调用
CompletableFuture<UserDTO> userFuture = CompletableFuture.supplyAsync(
() -> userFeignClient.getUserById(userId), asyncExecutor);
CompletableFuture<ProductDTO> productFuture = CompletableFuture.supplyAsync(
() -> productFeignClient.getProductById(productId), asyncExecutor);
CompletableFuture<StockDTO> stockFuture = CompletableFuture.supplyAsync(
() -> stockFeignClient.getStock(productId), asyncExecutor);
CompletableFuture.allOf(userFuture, productFuture, stockFuture).join();
优化效果:总耗时 = max(1500, 1200, 400) = 1500ms,下降53%。
进一步优化:为三个下游服务添加Redis缓存(第10课的Nacos配置中心配合使用),将调用耗时降至50ms以内。
最终效果:P99从3200ms降至50ms,提升64倍。
3.3 GC优化实战
问题现象:服务每10分钟出现一次2秒的响应时间尖刺。
排查 :Grafana中jvm_gc_pause_seconds显示Full GC每10分钟触发一次,每次耗时2秒。
根因分析:
- 堆内存:
-Xmx2g,老年代约1.4G - 对象创建速率:约200MB/s
- Full GC触发频率:每10分钟一次
- 每次Full GC后老年代回收率:仅30%(说明大量对象是存活的)
根因:某业务代码在循环中不断创建大对象并放入缓存(本地缓存未设过期时间),导致老年代持续增长。
优化措施:
| 措施 | 效果 |
|---|---|
| 本地缓存改用Caffeine + 设置过期时间 | 老年代对象可回收 |
-Xmx2g → -Xmx4g |
延长Full GC间隔 |
| G1GC → ZGC(JDK 21支持) | GC停顿从2秒降至10ms以内 |
优化后:Full GC频率从每10分钟降至每天1次,响应时间尖刺消失。
3.4 集群扩容策略
| 扩容维度 | 扩容方式 | 适用场景 |
|---|---|---|
| 服务实例扩容 | 增加Pod/容器实例 | QPS增长,CPU/内存未饱和 |
| 数据库扩容 | 读写分离、分库分表 | 数据库连接池打满、慢查询增多 |
| Nacos扩容 | 3节点→5节点 | 服务注册量激增 |
| RocketMQ扩容 | 增加Broker、增加队列数 | 消息堆积 |
| 网关扩容 | 增加Gateway实例 + SLB | 入口流量增长 |
四、高频面试题总结
4.1 注册配置中心(Nacos)
Q1:Nacos的AP和CP模式有什么区别?如何选择?
A:AP模式(Distro协议)优先保证可用性,实例上下线异步同步,短暂不一致可接受,适合服务发现;CP模式(Raft协议)优先保证一致性,写操作需要多数派确认,适合配置管理。Nacos 3.x默认CP模式。选型原则:服务发现用AP(实例变更频繁,短暂不一致影响小),配置管理用CP(配置错误会导致业务行为异常)。
Q2:Nacos 2025.1.x为什么废弃Bootstrap?
A:Bootstrap上下文作为父容器,导致启动速度慢、属性覆盖逻辑复杂。spring.config.import在单一上下文中完成配置解析,提升启动效率。迁移方式:将bootstrap.yml中的配置迁移到application.yml,添加spring.config.import: optional:nacos:xxx.yaml。
Q3:Nacos集群如何预防脑裂?
A:使用奇数节点(3/5/7);所有节点cluster.conf必须一致;调整Raft选举超时参数;使用外部MySQL持久化数据;节点部署在同一局域网。
4.2 服务调用(OpenFeign + LoadBalancer)
Q4:OpenFeign和RestTemplate的区别?
A:RestTemplate是模板方法式,需手动拼接URL和转换响应;OpenFeign是声明式,通过接口+注解定义调用,底层通过动态代理生成实现。Feign内置了LoadBalancer集成、ErrorDecoder、RequestInterceptor等能力,代码更简洁、可维护性更强。但Spring Boot 4.0推荐新项目使用@HttpExchange声明式HTTP Interface。
Q5:LoadBalancer为什么替代了Ribbon?
A:三个原因------Ribbon与Eureka强绑定,Eureka停维后Ribbon失去基础;Ribbon不支持响应式编程;Ribbon配置模型复杂。LoadBalancer支持响应式、配置简洁、与Spring Cloud Commons深度集成。
Q6:LoadBalancer的缓存导致滚动发布期间调用失败,如何解决?
A:默认CachingServiceInstanceListSupplier的TTL为35秒,导致已下线实例仍被路由。解决方案:关闭缓存(spring.cloud.loadbalancer.cache.enabled=false)或缩短TTL(ttl: 5s);更优方案是自定义Supplier监听Nacos实例变更事件。
4.3 网关(Gateway)
Q7:Gateway 5.0为什么拆分为WebFlux和WebMVC双栈?
A:Java 21虚拟线程的成熟让传统阻塞模型重新具备高并发能力。WebFlux的Reactor学习曲线陡峭,WebMVC+虚拟线程降低了编程复杂度,同时保持了高并发性能。选型建议:新项目优先WebMVC+虚拟线程,存量WebFlux项目继续使用。
Q8:Gateway的过滤器执行顺序如何控制?
A:局部过滤器和全局过滤器混合排序,按order值升序执行。order越小优先级越高。NettyRoutingFilter的order为Integer.MAX_VALUE,是最后一个Pre过滤器。Post阶段按逆序执行。
Q9:Gateway如何实现动态路由?
A:将路由配置存储在Nacos中,实现RouteDefinitionLocator监听Nacos配置变更,解析为RouteDefinition后发布RefreshRoutesEvent事件,CachingRouteLocator监听事件并刷新路由缓存。
4.4 熔断限流(Sentinel)
Q10:Sentinel的滑动窗口算法原理?为什么不用固定窗口?
A:Sentinel将时间划分为多个小窗口(如1秒拆分为10个100ms窗口),统计所有窗口内的请求数。固定窗口在边界处可能出现"双倍流量"(前窗口末尾+后窗口开头),滑动窗口天然避免了这个问题。
Q11:Sentinel熔断器的三种状态如何转换?
A:CLOSED(正常)→ 触发熔断条件 → OPEN(熔断)→ timeWindow到期 → HALF_OPEN(半开,放行一个探测请求)→ 探测成功 → CLOSED / 探测失败 → OPEN。
Q12:网关限流和应用层限流如何配合?
A:网关限流是入口防护,拦截"不该进来"的请求,不消耗应用线程;应用层限流感知调用链健康状态,熔断不健康调用。两者互补,生产环境都需要。网关限流用GatewayFlowRule,应用层限流用FlowRule。
4.5 分布式事务(Seata)
Q13:Seata AT模式的两阶段提交流程?
A:Phase 1------拦截业务SQL,查询前后镜像,执行SQL,保存undo_log,提交本地事务,向TC汇报。Phase 2------TC驱动全局提交(异步删除undo_log)或全局回滚(根据undo_log恢复数据)。
Q14:AT模式的全局锁与本地锁死锁如何解决?
A:根因是@Transactional与@GlobalTransactional的嵌套使用,导致本地锁先于全局锁获取。解决方案:将Feign远程调用剥离出Spring事务上下文;将本地事务传播属性改为REQUIRES_NEW;减少事务粒度。
4.6 消息驱动(RocketMQ)
Q15:RocketMQ事务消息的流程?
A:发送半事务消息 → Broker持久化(对消费者不可见)→ 执行本地事务 → 发送Commit/Rollback → Broker投递或删除。若二次确认丢失,Broker回查生产者的本地事务状态。
Q16:消息消费幂等的方案?
A:唯一索引、状态机、Redis SETNX、Token机制。RocketMQ保证At Least Once,消费端必须幂等。推荐Redis SETNX(原子操作)+ 业务Key。
4.7 监控追踪
Q17:Metrics、Tracing、Logging三者的关系?
A:Metrics告诉你"系统状态如何"(聚合指标),Tracing告诉你"请求经过了哪些服务、每段耗时多少"(链路追踪),Logging告诉你"系统在某个时刻发生了什么"(详细日志)。三者互补,通过TraceID串联。
Q18:如何通过TraceID实现跨服务的日志检索?
A:SkyWalking Agent自动将TraceID注入MDC的tid键,Logback配置%X{tid}输出TraceID到日志,ELK采集后通过traceId字段检索。SkyWalking UI配置跳转链接,实现"一键从链路跳转到日志"。
五、生产避坑大全
5.1 注册配置中心
| 坑 | 后果 | 规避 |
|---|---|---|
namespace使用名称而非ID |
配置加载失败 | 始终使用命名空间ID |
shared-configs的refresh默认false |
共享配置不刷新 | 显式设置refresh: true |
| 本地配置覆盖远程配置 | 远程配置不生效 | 从本地移除同名配置 |
cluster.conf不一致 |
Raft无法形成多数派 | 所有节点配置完全一致 |
| 鉴权密钥使用默认值 | 安全漏洞 | 替换为32位以上自定义密钥 |
5.2 服务通信
| 坑 | 后果 | 规避 |
|---|---|---|
| Feign超时未区分连接和读取 | 慢请求被误判超时 | 连接超时1-3秒,读取按业务 |
| 非幂等接口配置重试 | 重复下单/重复扣款 | 非幂等接口禁用重试 |
Retryer实例复用 |
后续请求不再重试 | 确保clone()返回新实例 |
| LoadBalancer缓存35秒 | 滚动发布调用失败 | 关闭缓存或缩短TTL |
@PathVariable未指定value |
运行时异常 | 始终显式指定value |
5.3 网关
| 坑 | 后果 | 规避 |
|---|---|---|
| 配置前缀未迁移 | 路由静默失效 | 使用spring.cloud.gateway.server.webflux.* |
TX_XID被过滤器覆盖 |
Seata事务不回滚 | 将TX_XID加入白名单 |
| OPTIONS预检被鉴权拦截 | CORS跨域失败 | 鉴权过滤器放行OPTIONS |
| EventLoop中执行阻塞操作 | 高并发性能骤降 | 使用boundedElastic调度器 |
5.4 熔断限流
| 坑 | 后果 | 规避 |
|---|---|---|
| 关联模式阈值配反 | 限流行为相反 | count约束关联资源 |
queueCapacity默认无限大 |
OOM | 显式配置队列容量 |
| Sentinel规则未持久化 | 重启后限流失效 | 配置Nacos数据源 |
| Token Server未配置fallback | 集群限流全失效 | fallbackToLocalWhenFail=true |
5.5 监控追踪
| 坑 | 后果 | 规避 |
|---|---|---|
| liveness包含数据库检查 | Pod重启风暴 | liveness只检查存活状态 |
| MDC在线程池中未清理 | 日志串号 | finally中MDC.clear() |
| 高基数标签 | Prometheus存储爆炸 | 禁止用userId/requestId作标签 |
| 异步线程TraceID丢失 | 链路断裂 | 配置TaskDecorator |
5.6 分布式事务
| 坑 | 后果 | 规避 |
|---|---|---|
undo_log表缺失 |
事务无法回滚 | 每个业务库创建undo_log表 |
| Feign重试导致分支重复注册 | 事务状态异常 | Seata服务禁用Feign重试 |
| Gateway链路XID丢失 | 事务不回滚 | 使用Seata 2.5.0 + 白名单 |
| file存储模式用于生产 | 重启后事务丢失 | 使用db或redis模式 |
5.7 容器化部署
| 坑 | 后果 | 规避 |
|---|---|---|
容器内使用localhost |
无法连接其他服务 | 使用Docker Compose服务名 |
| JVM内存未限制 | 容器被OOM Killer杀死 | -Xmx小于容器内存限制 |
| 健康检查命令不存在 | 容器反复重启 | 使用wget或安装curl |
| 时区未设置 | 日志时间偏差8小时 | ENV TZ=Asia/Shanghai |
六、进阶学习路线
6.1 从微服务到云原生
微服务不是终点,云原生才是。下一步的学习路径:
| 阶段 | 学习内容 | 目标 |
|---|---|---|
| 第一阶 | Kubernetes核心(Pod/Service/Deployment/Ingress) | 将微服务从Docker Compose迁移到K8s |
| 第二阶 | Helm + Kustomize | 微服务的K8s包管理和配置管理 |
| 第三阶 | Istio/Linkerd服务网格 | 将熔断限流从应用层下沉到Sidecar |
| 第四阶 | Knative/Serverless | 微服务的Serverless化 |
| 第五阶 | GitOps(ArgoCD/Flux) | 声明式持续部署 |
6.2 从Spring Cloud到Service Mesh
Service Mesh(服务网格)正在改变微服务的通信方式。Istio/Linkerd通过Sidecar代理接管服务间通信,将熔断、限流、重试、mTLS等能力从应用代码下沉到基础设施层。
Service Mesh vs Spring Cloud:
| 维度 | Spring Cloud | Service Mesh |
|---|---|---|
| 语言绑定 | Java专用 | 语言无关 |
| 能力位置 | 应用进程内(SDK) | Sidecar代理 |
| 升级方式 | 改代码 + 重新部署 | 升级Sidecar |
| 性能开销 | 低 | 多一跳网络延迟 |
| 学习曲线 | 中 | 高 |
| 适用规模 | 中小规模 | 大规模、多语言 |
结论:Spring Cloud不会消失,但Service Mesh会在大型、多语言组织中逐步替代部分能力。建议先用好Spring Cloud,再根据组织规模决定是否引入Service Mesh。
6.3 推荐学习资源
| 类型 | 资源 | 说明 |
|---|---|---|
| 官方文档 | Spring Cloud Alibaba官方文档 | 版本适配的第一手资料 |
| 源码 | Spring Cloud Gateway / Sentinel源码 | 深入理解底层机制 |
| 书籍 | 《微服务架构设计模式》 | 微服务架构的理论基础 |
| 书籍 | 《凤凰架构》 | 分布式系统的系统性认知 |
| 实践 | 将本专栏的项目部署到K8s | 从Docker到K8s的平滑过渡 |
七、全专栏总结
7.1 技术能力清单
完成本专栏学习后,你应具备以下能力:
| 能力领域 | 具体能力 |
|---|---|
| 架构设计 | 能独立设计微服务的服务拆分、数据隔离、通信方案 |
| 注册配置 | 能部署Nacos集群、设计多环境隔离方案、实现配置加密 |
| 服务通信 | 能实现声明式调用、超时重试、幂等保障 |
| 网关 | 能配置动态路由、实现鉴权限流、部署网关集群 |
| 熔断限流 | 能设计多级限流方案、实现熔断降级、配置系统保护 |
| 监控追踪 | 能搭建Prometheus+Grafana+SkyWalking+ELK完整可观测性体系 |
| 分布式事务 | 能使用Seata AT模式解决跨服务一致性问题 |
| 消息驱动 | 能使用RocketMQ实现异步解耦、可靠投递、消费幂等 |
| 容器化部署 | 能编写生产级Dockerfile、使用Compose编排全栈服务 |
7.2 最后的建议
建议一:不要为了微服务而微服务。 如果你的团队只有5个人、系统只有3个模块,单体架构可能是更优选择。微服务的代价是分布式系统的复杂性------这个代价只有在系统规模和组织规模足够大时才值得付出。
建议二:可观测性先行。 在引入任何新服务之前,先确保监控、链路追踪、日志体系已经就绪。没有可观测性的微服务,等于在黑暗中开车。
建议三:从最痛的环节开始优化。 不要一次性引入所有组件。先解决最影响业务的问题------如果数据库慢查询是瓶颈,先优化SQL,而非引入Seata。
建议四:保持技术栈的简洁。 每引入一个组件,就增加一份运维负担。Nacos已经提供了注册+配置二合一,不需要再引入Eureka和Spring Cloud Config。
建议五:持续学习,但不要追新。 Spring Cloud的版本迭代速度很快,但核心概念(服务发现、负载均衡、熔断限流)是稳定的。先吃透核心概念,再跟进版本变化。
八、结语
35节课,从单体架构的痛点讲到微服务架构的全景,从Nacos注册中心讲到Seata分布式事务,从Gateway网关讲到SkyWalking链路追踪,最终完成了一个完整的电商微服务项目从设计到上线。
但35节课只是一个起点。微服务架构的深度远不止于此------Kubernetes、Service Mesh、Serverless、Event-Driven Architecture,每一个方向都值得深入探索。
技术在变,但架构思维不变:理解业务需求、识别核心问题、权衡利弊做出选择、持续验证和优化。这才是架构师的本质能力。
感谢你完成这35节课的学习。祝你在微服务架构师的道路上越走越远。
🔗《最新版 SpringCloud 2025 从入门到实战》系列课程导航
第一部分:微服务前置基础 & 新版环境搭建(第1-5课)
第二部分:注册中心核心(Nacos 最新版)(第6-9课)
第三部分:配置中心核心(Nacos配置中心)(第10-12课)
第四部分:服务通信核心(OpenFeign + LoadBalancer)(第13-16课)
第五部分:网关核心(SpringCloud Gateway 新版)(第17-20课)
第六部分:熔断、限流、降级(Sentinel 新版)(第21-24课)
第七部分:微服务监控、链路追踪、日志体系(第25-28课)
第八部分:微服务高阶特性 & 分布式核心能力(第29-31课)
第九部分:企业级完整项目实战 & 架构复盘(第32-35课)