微服务引入 nacos-discovery 依赖后,启动时自动将服务名、IP、端口、健康状态上报 Nacos Server,完成服务注册;支持临时实例(心跳保活)和永久实例。服务发现时,消费者从 Nacos 拉取服务列表并本地缓存,通过长连接实时感知实例上下线,自动剔除故障节点。Nacos 支持权重路由、集群隔离,兼容 Spring Cloud 标准,无需手动编码,开箱即用,同时承担注册中心和配置中心双重角色。
Sentinel 包含7 类核心规则:流量规则(QPS/ 线程数限流)、熔断降级规则(慢调用 / 异常比例 / 异常数)、热点参数规则(针对请求参数限流)、系统规则(CPU/ 负载等系统指标防护)、授权规则(调用源黑白名单)、集群流控规则、网关流控规则。所有规则支持本地配置或 Nacos 动态配置,实时生效,覆盖单机、集群、网关全场景,可灵活组合实现精细化流量管控。
基于 Nacos Config 实现分布式配置,引入依赖后在 Nacos 控制台创建配置(DataID+Group)。微服务启动时自动拉取配置,添加 @RefreshScope 即可实现配置动态刷新,修改后无需重启服务。支持配置版本管理、回滚、灰度发布、多环境隔离,提供权限管控和加密存储。集中管理所有微服务配置,解决配置分散、修改繁琐、难以同步的痛点,完全适配云原生动态配置需求。
RocketMQ 是高可靠企业级消息队列,核心特点:高吞吐低延迟,单机十万级 TPS;高可用集群架构,主从备份无单点;消息持久化 + 重试 + 死信队列,保证可靠传递;支持事务消息、顺序消息、延迟消息;可水平扩容,支持亿级消息堆积;轻量级易运维,无缝集成 Spring Cloud Alibaba。适用于异步通信、流量削峰、最终一致性等微服务核心场景。
Seata 是一站式分布式事务解决方案,核心组件为 TC(事务协调器)、TM(事务发起者)、RM(资源管理器)。默认 AT 模式无侵入:基于本地事务 +undo log 自动实现回滚,发起方开启全局事务,所有参与者注册分支事务,最终由 TC 统一协调提交 / 回滚。同时支持 TCC、SAGA、XA 模式,完美解决微服务跨库、跨服务的数据一致性问题,兼容所有 Spring Cloud 生态组件。
通过 Sentinel 实现服务限流,引入 starter 依赖后,用 @SentinelResource 定义接口资源。配置限流规则(QPS/ 线程数),支持快速失败、预热、排队等待三种策略。可针对接口、方法、热点参数限流,网关层统一限流。集成 Nacos 实现规则动态配置,实时生效无需重启。自带监控面板查看限流数据,自动拦截超额流量,保护服务不被流量冲击崩溃。
Sentinel 轻量级无依赖,熔断支持慢调用比例、异常比例、异常数三种策略,规则可动态配置,自带控制台,性能极高;Hystrix 基于线程池隔离,资源占用高,仅支持异常比例熔断,规则静态无法修改,依赖 Turbine 监控。Sentinel 同时支持限流、降级、热点防护等全功能,Hystrix 仅支持熔断降级。Sentinel 是官方推荐的 Hystrix 替代方案,更适配云原生微服务。
使用 RocketMQ 实现异步通信,服务间通过消息解耦,不直接同步调用。生产者发送消息到 MQ,消费者监听消息异步处理,支持普通消息、事务消息、顺序消息、延迟消息。适用于异步通知、流量削峰、日志采集、最终一致性业务。相比同步调用,大幅提升系统吞吐量,避免级联故障,无缝集成 SCA,配置简单且消息可靠不丢失。
Dubbo 是高性能 RPC 框架,采用私有协议序列化,低延迟高吞吐,专注服务内部调用,适合金融、电商等核心高性能业务场景;Spring Cloud 是一站式微服务生态,基于 HTTP 协议,跨语言、功能全(网关、注册、配置、消息),适合云原生、多团队、多语言的通用微服务架构。Spring Cloud Alibaba 可整合两者,用 Dubbo 做内部高性能调用,Spring Cloud 做外部接入。
核心方案:强一致性用 Seata(AT 模式无侵入,跨服务事务自动回滚);最终一致性用 RocketMQ 事务消息(保证本地事务与消息同步);并发控制用 Redisson/Nacos 分布式锁,防止超卖、重复提交。配置一致性由 Nacos 保证,读写分离场景配合 Seata 管控跨库事务。根据业务选择强一致或最终一致,全方位保障微服务数据安全。
结合 Nacos + Gateway + Sentinel 实现灰度:Nacos 给服务实例打版本元数据,Gateway 根据请求标签(用户、版本)路由到对应实例;Sentinel 控制灰度流量比例,Nacos 动态调整服务权重,逐步放量。支持按用户、按参数、按比例灰度,一键回滚,无需停机。平滑切换流量,降低发布风险,是微服务迭代上线的标准方案。
覆盖全链路安全:Nacos 配置加密、权限管控、HTTPS 传输;Sentinel 授权规则(黑白名单);集成 Spring Security+OAuth2 实现认证授权;服务间通信 TLS 加密;Dubbo 接口签名防篡改;RocketMQ 消息加密与权限控制;Seata 事务数据防篡改;链路追踪实现操作审计。全方位满足企业微服务的安全合规要求。
通过 Sentinel 实现服务降级,配置降级规则(慢调用 / 异常比例 / 异常数)。触发降级后,执行 @SentinelResource 定义的 fallback 方法,返回缓存数据、默认值或友好提示。支持自动恢复,规则可通过 Nacos 动态配置。降级逻辑与业务代码完全解耦,无侵入性,触发时熔断非核心服务,保证核心服务可用,防止微服务雪崩。
Nacos 支持 AP/CP 模式切换,集注册中心 + 配置中心于一体,国内生态完善、中文文档、开箱即用,性能更高,无缝适配 SCA;Consul 是纯 CP 架构,仅提供注册发现,依赖 Raft 协议,运维复杂,国外生态为主。Nacos 支持权重路由、健康检查、动态配置,Consul 更适合多语言国外场景,国内微服务首选 Nacos。
集成 Spring Cloud Sleuth + Zipkin/SkyWalking 实现链路追踪。Sleuth 自动生成 TraceId(链路 ID)和 SpanId(跨度 ID),追踪 Feign/Dubbo/RocketMQ 调用;数据上报可视化平台,展示调用链路、耗时、异常。无代码侵入,配置简单,快速定位分布式系统的故障和性能瓶颈,是微服务排查问题的核心工具。
Nacos 通过 Namespace 命名空间 隔离 dev/test/prod 环境,不同环境配置互不干扰;也可通过 Group/DataId 区分环境。服务启动时指定命名空间 ID,自动加载对应环境配置。支持配置共享、继承,公共配置统一管理,动态刷新不跨环境。一键切换环境,无需修改代码,完美适配企业多环境开发、测试、部署流程。
主流方案:Redisson+Redis(高性能、可重入锁,适合高并发);Nacos 分布式锁(基于临时节点,无需额外中间件,简单易用)。适用于防止重复提交、库存超卖、定时任务并发执行。支持锁超时、自动续期,集成 SCA 零成本,解决微服务跨实例、跨节点的资源竞争问题,保证并发数据安全。
Nacos 两大核心功能:服务注册与发现(微服务注册、健康检查、动态负载均衡)、分布式配置管理(集中配置、动态刷新、版本回滚)。附加服务路由、动态 DNS、多租户隔离、权限管控。二合一架构替代 Eureka+Config,轻量化、高可用、易运维,是 Spring Cloud Alibaba 微服务架构的核心基础设施。
四重机制保证可靠:消息磁盘持久化;生产者 ACK 确认 + 失败重试;消费者手动 ACK,处理完成才确认;主从集群高可用。支持死信队列收纳无法消费的消息,事务消息保证本地事务与消息一致性。同步 / 异步发送双模式,确保消息不丢失、不重复,适配金融、电商等高可靠要求场景。
引入 sentinel-starter 依赖,配置控制台地址;使用 @SentinelResource 标注接口资源;在控制台或 Nacos 配置流控规则(QPS/ 线程数);指定限流策略(快速失败 / 预热 / 排队)。支持网关统一限流、热点参数限流,规则实时生效。零代码侵入,监控面板可视化流控数据,快速实现接口流量精细化管控。
基于 Nacos Config,开启 @RefreshScope 注解即可实现动态刷新。微服务监听 Nacos 配置变更,修改控制台配置后,通过长连接实时同步到服务,无需重启应用。支持所有配置格式,多环境、多配置文件均可刷新,还可自定义配置监听回调,适配动态修改日志级别、开关、参数等生产场景。
核心场景:异步微服务通信、秒杀流量削峰、订单超时延迟关闭、事务消息保证数据最终一致、订单 / 物流顺序消费、系统日志异步收集、缓存广播刷新。高可靠、高吞吐,无缝集成 SCA,覆盖微服务绝大多数异步业务场景,提升系统弹性和吞吐量。
Seata 由 TC(事务协调器)、TM(事务管理器)、RM(资源管理器)组成。AT 模式下,RM 拦截本地事务生成 undo log;TM 向 TC 注册全局事务;所有分支执行完毕后,TC 统一下发提交 / 回滚指令;回滚时通过 undo log 自动恢复数据。无侵入、高性能,TCC/SAGA 模式适配复杂业务,完整解决分布式事务问题。
将微服务打包为 Docker 镜像,编写 Dockerfile 基于 JDK 镜像构建;使用 Docker Compose 编排服务、Nacos、Seata、RocketMQ;配置容器网络保证组件互通;镜像推送至 Harbor 仓库。K8s+Docker 集群部署支持弹性伸缩、健康检查、自动重启。容器化环境统一,一键部署,简化云原生运维流程。
注册 + 配置二合一,减少组件依赖;动态刷新无需重启;多环境 / 多租户隔离;配置版本管理、回滚、灰度发布;高可用集群无单点;中文生态完善,易运维;支持配置加密、权限管控;无缝集成 SCA 所有组件。相比 Spring Cloud Config,功能更全、性能更高、成本更低,是企业级配置中心首选。
针对请求参数(用户 ID、商品 ID)限流,自动统计高频参数的 QPS。使用 @SentinelResource 定义资源,配置热点规则指定参数索引和阈值;支持例外项,为 VIP 用户等特殊参数单独放行。精准限制爬虫、恶意请求,规则支持 Nacos 动态配置,零代码侵入,适配秒杀、商品详情等高并发参数场景。
服务间启用 TLS/SSL 加密传输;集成 Spring Security+OAuth2 统一认证授权;Nacos 配置服务访问权限;Sentinel 授权规则限制调用源;Dubbo 接口添加签名验证;敏感数据加密脱敏。结合链路追踪审计调用日志,从加密、认证、授权三层防护,杜绝非法访问和数据泄露。
生产者将相同顺序 Key(订单 ID) 的消息发送到同一个队列;消费者使用单线程消费单个队列,保证 FIFO 顺序。支持分区顺序(高性能)和全局顺序,配置顺序监听器即可。无缝集成 SCA,适配订单、支付、物流等严格要求顺序的业务场景,消息不乱序、不丢失。
Nacos 通过服务实例元数据 + 权重实现灰度:给实例打版本标签,动态调整权重分配流量。网关根据请求参数路由到对应版本实例,逐步提高新版本权重完成全量发布,权重归 0 即可一键回滚。无需停机、实时生效,配合 Sentinel 控制流量比例,大幅降低发布风险。
引入 sentinel-datasource-nacos 依赖,将 Nacos 作为规则数据源。在 Nacos 创建流控 / 降级 / 热点规则配置,Sentinel 自动拉取加载;修改 Nacos 配置后,规则实时同步到服务,解决规则重启丢失问题。集中管理多服务规则,统一管控,完全适配生产环境动态流量管控需求。
引入 Dubbo 依赖,配置 Nacos 注册中心;提供者用 @DubboService 发布接口;消费者用 @DubboReference 注入接口直接调用。支持多种高性能序列化协议,配置负载均衡、容错策略。兼容 Spring Cloud 生态,性能远超 HTTP 接口,适合微服务内部核心链路高性能调用。
RocketMQ 事务消息保证最终一致性:生产者发送半消息 → 执行本地事务 → 事务成功则提交消息,失败则回滚。MQ 定时回查事务状态,确保消息可靠投递。无代码侵入,适配订单 - 支付 - 库存等跨服务业务,性能优于强一致性事务,是轻量级分布式事务最佳实践。
SCA Dubbo 集成 Spring Cloud 生态,共用 Nacos 注册 / 配置中心,支持 Spring Boot 自动配置,兼容 Gateway、Feign、Sentinel 等组件;传统 Dubbo 独立生态,依赖 Zookeeper,配置繁琐,不兼容 Spring Cloud。SCA Dubbo 保留高性能 RPC 优势,全面融入云原生,是传统 Dubbo 升级的最优方案。
Sentinel 通过注解 + 动态规则实现解耦:@SentinelResource 定义通用资源,不侵入业务代码;限流 / 熔断规则配置在 Nacos/ 控制台,与业务分离;降级方法独立编写,全局统一处理。网关层集中流量管控,业务服务无感知,流量管控与业务逻辑完全分离,代码简洁易维护。
结合 Spring Cloud Gateway + Nacos:在 Nacos 配置路由规则(路径、服务名、过滤器),Gateway 监听配置变更,实时加载路由,无需重启网关。支持灰度路由、权重路由、路由熔断,动态新增 / 修改 / 删除路由,快速适配微服务迭代,简化网关运维。
关闭无用规则减少开销;使用热点限流替代全局限流;开启规则本地缓存;异步日志不阻塞业务线程;网关层集中限流降低服务压力;合理设置统计窗口减少内存占用;升级版本优化性能。优化后支持百万级 QPS,适配高并发生产环境。
同步通信:使用 OpenFeign/RestTemplate(HTTP 协议,实时调用,适合核心链路);异步通信:使用 RocketMQ(解耦、削峰,适合非核心链路)。配合 Sentinel 限流熔断保证通信稳定性,Spring Cloud Alibaba 无缝集成两种方式,根据业务场景灵活选择。
结合 K8s + Nacos:K8s 根据 CPU/ 内存 /QPS 自动扩缩容 Pod;新实例自动注册到 Nacos,旧实例自动注销;Nacos 实时更新服务列表,Gateway 自动负载均衡。无状态服务水平扩容秒级生效,自动应对流量波动,节省资源,保证高可用。
在 Nacos 控制台直接修改服务实例权重(0-100),实时生效;权重越高,分配流量越多。动态调整无需重启服务,配合灰度发布逐步切换流量,支持 API 批量修改。基于权重负载均衡,简单易用,是流量调度、版本升级的核心能力。
Sentinel 有三种降级策略:慢调用比例(超时请求占比达标触发)、异常比例(异常请求占比达标触发)、异常数(单位时间异常数达标触发)。降级后执行 fallback 方法,支持配置降级时长,超时后自动半开恢复。规则动态配置,自动熔断非核心服务,保障核心服务可用。