学习目标
-
Dubbo的集群容错有哪几种及各自的特点
-
Dubbo的集群容错原理
第1章 集群容错原理分析
废话不多说,先贴流程图

1.1 功能描述
集群调用失败时,Dubbo 提供的容错方案
在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。
我们来分析一下各种集群容错策略的不同
1.2 FailoverClusterInvoker
1.2.1 使用场景
失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过 retries="2" 来设置重试次数(不含第一次)。该配置为缺省配置
1.2.2 源码分析
当调用invoke方法进行调用流转时,如果走到了集群容错的逻辑,那么先会走到他们的父类中,父类里面定义了如何获取服务列表和获取负载均衡算法的逻辑,从父类的方法中就可以获取到这两种东西,然后有一个doInvoke方法是一个抽象的方法,该方法是一个钩子方法,采用了模板设计模式,这样的话就会勾到子类的逻辑当中去,是哪个子类的实例就会勾到哪个实例的中去,不同的实例是通过配置参数来决定的:
配置如下:
clus
本文详细介绍了Dubbo的集群容错原理,包括Failover、Failfast、Failsafe、Failback、Forking、Broadcast和Available七种策略。分别分析了它们的使用场景、特点及源码实现,帮助理解在不同场景下的容错选择。
订阅专栏 解锁全文
1289

被折叠的 条评论
为什么被折叠?



