针对当前接...">
美文网首页
20.Dubbo集群容错

20.Dubbo集群容错

作者: 山海树 | 来源:发表于2020-09-14 10:35 被阅读0次

    Failvoer Cluster:失败重试

    <dubbo:reference retires="2"/>针对当前接口的所有方法,失败后重试两次
    <dubbo:reference>
    <dubbo:method name="sayHello" retries="2”/> 针对当前接口的sayHello方法,重试
    </dubbo:reference/>

    Failfast Cluster:快速失败

    Failsafe Cluster:安全失败 -----失败忽略异常

    Failback Cluster:失败自动恢复,失败后记录日志,并按照一定的策略后期在进行重试。

    Forking Cluster:并行调用

    当消费方调用一个接口方法后,Dubbo Client会并行调用多个服务提供者的服务,只要其中有一个成功就返回。
    <dubbo:reference id="userService" interface="com.test.UserService" group ="dubbo" version="1.0.0'
    cluster="forking">
    <dubbo:parameter key="forks" value="4"/>
    </dubbo:reference>

    Broadcast Cluster:广播调用

    当消费者调用一个接口后,Dubbo Client逐个调用所有服务提供者,任意一台服务器调动异常则这次调用标志位失败。

    所有的集群容错策略都是集成自抽象类AbstractClusterInvoker。

    在消费端真的调用方法的时候会根据集体的配置最终调用到Cluster的具体实现类,该实现类在doInvoker()的时候会去RegistryDirectory管理的RouterChain的route()获取invoker列表。
    最终执行调用。

    1.Failfast Cluster---失败抛异常

    image.png

    2.Failsafe Cluster---失败不会抛异常

    image.png

    3.Failover Cluster---从url中获取重试次数,循环根据负载均衡选调用者进行调用

    image.png

    4.Failback Cluster---失败记录,创建定时器去执行后续操作

    image.png
    image.png

    5.Forking Cluster---根据forks确定并行执行的invoker数

    image.png

    6.Boradcast Cluster---所有全发

    image.png

    自定义集群容错策略

    image.png
    image.png
    image.png image.png

    相关文章

      网友评论

          本文标题:20.Dubbo集群容错

          本文链接:https://www.haomeiwen.com/subject/tfukektx.html