第九章 SpringCloud框架
本文介绍了Nacos与Eureka的服务注册发现机制、OpenFeign的调用流程、Sentinel与Hystrix的限流熔断对比、滑动窗口算法原理,以及Spring Cloud Gateway的路由断言、过滤器功能,涵盖微服务架构中核心组件的工作原理与实践应用。
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的新配置引发空指针异常,导致全球服务中断超7小时。本文分析其根因,并详解基于Nacos的配置灰度发布方案,包括IP与标签灰度实践,强调灰度发布对系统稳定性的重要意义。
微服务版本
需掌握独立搭建及调试能力:拉取RuoYi-Cloud代码,基于目录结构与报错信息,自主启动服务(Nacos、网关、认证、系统模块等),配置密码并解决常见问题。前端通过Node环境运行,完成登录验证。试岗需实现导出命名修改、当前页排序及筛选功能。脱离讲义,独立排错为关键。
每日必会1
微服务并非绝对优于单体,需结合业务场景。简单应用用单体更轻量,避免分布式复杂性;复杂业务适合微服务,降低耦合,利于扩展。常用中间件如Nacos(注册/配置中心)、OpenFeign(远程调用)、Gateway(网关)。Nacos通过心跳机制维护实例状态,支持临时(心跳剔除)与非临时(主动检测)实例,相比Eureka,兼具AP/CP模式,服务发现更及时。负载均衡常用轮询、加权轮询等,项目中多用轮询策略。
Eureka服务注册与发现
本章介绍SpringCloud中Eureka注册中心的搭建与使用,完成user-service和order-service服务注册,实现多实例部署。虽Netflix组件已逐步被替代,但Eureka功能仍具学习价值,后续将用Nacos实现更优方案。
SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,弥补了分散技术栈的整合难题。它具备约定优于配置、组件丰富、开箱即用等特点,支持云原生架构。其版本以伦敦地铁站命名,避免与子项目冲突。随着Netflix组件停更,Spring Cloud Alibaba凭借Nacos、Sentinel、Seata等成熟开源组件,成为主流选择,获官方认可,助力微服务高效落地。
Ribbon负载均衡
本节深入解析Ribbon实现客户端负载均衡的原理,详解@LoadBalanced注解作用,剖析负载均衡策略、自定义配置及饥饿加载优化,帮助读者全面掌握Ribbon在Spring Cloud中的应用与底层机制。