0

0

Dubbo负载均衡策略有哪些 Dubbo集群容错模式【总结】

煙雲

煙雲

发布时间:2025-12-25 05:57:14

|

842人浏览过

|

来源于php中文网

原创

Dubbo提供5种负载均衡策略和6种集群容错模式,分别解决“请求往哪发”和“发失败了怎么办”问题;策略通过loadbalance和cluster参数配置,需结合业务特征选型。

dubbo负载均衡策略有哪些 dubbo集群容错模式【总结】

Dubbo 默认提供 5 种负载均衡策略和 6 种集群容错模式,它们分别解决“请求往哪发”和“发失败了怎么办”这两个核心问题。选对策略能明显提升系统稳定性与响应效率。

Dubbo 负载均衡策略(5种)

全部实现在 org.apache.dubbo.rpc.cluster.loadbalance 包下,通过 loadbalance 参数配置,支持注解、XML、API 多种方式指定。

  • RandomLoadBalance(随机):默认策略。按权重计算概率,随机选取提供者;调用量越大,分布越接近权重比。适合节点性能相近、无强状态依赖的场景。
  • RoundRobinLoadBalance(轮询):按顺序循环分发请求,支持带权重的平滑轮询(如权重 3:1:1,则每5次请求中分配3/1/1)。适合稳定、均质的服务集群。
  • LeastActiveLoadBalance(最少活跃数):优先选当前正在处理请求数(active count)最少的节点;活跃数相同时再按权重随机。适合响应时间敏感、存在长耗时调用的业务。
  • ConsistentHashLoadBalance(一致性哈希):对方法名+参数类型+参数值做哈希,固定参数请求始终路由到同一节点。天然支持会话粘性或本地缓存,但需注意虚拟节点防倾斜。
  • ShortestResponseLoadBalance(最短响应时间):基于历史成功调用的平均响应时间选择节点,响应快的更易被选中;若多个节点响应时间相近,则 fallback 到随机。适合 SLA 要求高、节点性能差异明显的环境。

Dubbo 集群容错模式(6种)

定义在 org.apache.dubbo.rpc.cluster.support 包中,通过 cluster 参数设置,默认为 failover(失败自动重试)。

MyMap AI
MyMap AI

使用AI将想法转化为图表

下载
  • FailoverCluster(失败重试):默认模式。调用失败后,自动切换其他可用节点重试(可配 retries=2 控制重试次数)。适合读操作或幂等写操作。
  • FailfastCluster(快速失败):只发起一次调用,失败立即抛异常,不重试。适合非幂等写操作(如下单、扣库存),避免重复提交。
  • FailsafeCluster(失败安全):调用出错仅记录日志,不抛异常、不中断流程。适合通知类、日志上报等弱依赖场景。
  • ForkingCluster(并行调用):同时调用多个节点,只要一个成功即返回。适合对实时性要求极高、可容忍资源开销的场景(如风控校验)。
  • AvailableCluster(可用优先):遍历所有节点,找到第一个可用的就直接调用,不等待健康检查结果。适合启动阶段或极简容错逻辑。
  • MergeableCluster(合并结果):将多个节点的返回结果合并(需返回类型支持合并,如 List 或 Map)。常用于分片查询或聚合统计。

基本上就这些。策略不是越多越好,关键是结合业务特征——比如订单服务用 failfast + leastactive,配置中心推送用 failsafe + random,缓存类接口用 consistenthash。配置优先级遵循:方法级 > 接口级 > 全局配置。

相关专题

更多
dubbo和zookeeper有什么区别
dubbo和zookeeper有什么区别

dubbo和zookeeper的区别:1、功能定位;2、使用场景;3、数据存储与协调;4、集成与关系;5、性能与可靠性;6、扩展性与灵活性;7、社区与生态系统。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

220

2024.02.23

springcloud和dubbo有哪些区别
springcloud和dubbo有哪些区别

springcloud和dubbo的区别:1、定位与关注点;2、生态环境与集成性;3、调用方式与性能;4、组件与功能;5、定制性与灵活性;6、学习曲线与上手难度;7、社区支持与维护。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

122

2024.02.23

dubbo原理和机制是什么
dubbo原理和机制是什么

dubbo原理和机制的解释:1、核心组件;2、通信原理;3、集群容错;4、自动发现与注册;5、负载均衡与路由;6、序列化与传输;7、监控与日志;8、扩展性;9、安全性;10、与spring集成等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

96

2024.02.23

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

191

2023.11.20

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1835

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2078

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

910

2024.11.28

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

980

2023.10.19

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
RunnerGo从入门到精通
RunnerGo从入门到精通

共22课时 | 1.7万人学习

尚学堂Mahout视频教程
尚学堂Mahout视频教程

共18课时 | 3.1万人学习

Linux优化视频教程
Linux优化视频教程

共14课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号