SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,整合多种技术,实现服务注册发现、配置管理、负载均衡等功能。约定大于配置,开箱即用,支持云原生。Netflix组件停更后,Spring Cloud Alibaba成为主流,集成Nacos、Sentinel、Seata等阿里开源组件,提供完整微服务生态支持。
Nacos配置中心
Nacos配置中心通过集中化管理微服务配置,实现动态热更新与环境隔离,避免频繁重启服务。借助bootstrap.yml优先加载配置,支持@RefreshScope热刷新、@ConfigurationProperties绑定,并实现多环境共享及优先级控制,结合Nginx搭建高可用集群,提升系统稳定性与可维护性。
Ribbon负载均衡
本节深入解析Ribbon负载均衡机制,介绍其为何在RestTemplate上添加@LoadBalanced注解。Ribbon通过客户端实现负载均衡,结合Eureka服务发现,利用拦截器选择服务实例并重写请求地址。文章详解了负载均衡分类、常见算法、Ribbon自定义策略及饥饿加载优化,并引导读者思考不同架构下的负载均衡实现差异。
Eureka服务注册与发现
本章介绍Eureka服务注册与发现功能,搭建eureka-server并实现user-service、order-service的注册与多实例部署,掌握服务动态发现机制,为后续Nacos替换奠定基础。
Nacos与Eureka的区别
Eureka与Nacos均支持服务注册发现、健康监测及集群部署,默认采用AP模式保障高可用。区别在于:Nacos心跳间隔更短(5秒),超时剔除更快,支持配置管理与服务变更广播推送,而Eureka仅提供注册中心功能,更新依赖定时任务。
@RefreshScope热更新原理
@RefreshScope通过组合注解实现配置热更新,核心在于@Scope("refresh")。其原理是将Bean加入自定义缓存,配置变更时清空缓存并触发Spring重新创建Bean实例,结合Environment更新,使@Value等属性动态刷新,实现毫秒级配置热加载,本质是缓存失效+Bean重建机制。
08-云上nacos集群搭建
本文介绍在CCE上使用nacos/nacos-server:2.3.2镜像搭建Nacos集群的完整流程,包括创建数据库、初始化表结构、配置StatefulSet有状态应用、设置headless service及Ingress路由,实现Nacos集群的高可用部署与访问。
SpringCloud框架
Nacos通过命名空间、组、配置集实现分级存储,支持多环境隔离与灵活配置管理;Eureka基于心跳实现服务注册发现,两者均支持AP模式集群。Nacos兼具配置中心功能,且健康检查更实时。OpenFeign则通过serviceId负载均衡调用服务实例。