• Dubbo的10种集群容错模式


       学习Dubbo源码的过程中,首先看到的是dubbo的集群容错模式,以下简单介绍10种集群容错模式

      1.AvailableCluster

      顾名思义,就是可用性优先,遍历所有的invokers,选择可用的

      2.MergeableCluster:当接口需要多个服务组合返回值时,使用该接口

      3.ForkingCluster:并行执行,当有一个返回值时,取该值,该方法中使用了线程池和LinkedBlockingQuene来并发所有的子任务,并阻塞父线程,实现很优雅。可用于查询等要求性能高的,不适用于非幂等的插入删除等操作

      

      4.FailoverCluster:Dubbo的默认容错机制,失败重试,默认次数为2(不包含第一次),会优先选择未执行过的invoker。

      5.RegistryAwareCluster:优先选择本地的invoker

      6.FailsafeCluste:安全失败,当抛出异常时直接catch掉,只打印日志,一般用于记录日志等操作

      7.FailfastCluster:快速失败,当失败后,立刻抛出异常,适用于非接口幂等的写操作。有类似于AvailableCluster

      8.MockClusterWrapper,流程如下:

      

      9.BroadcastCluster:异常自己吃掉,遍历所有invoker,广播所有的invoker做一件事。

      10.FailbackCluster:失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。

      参考大神文章:https://www.jianshu.com/p/e0235110fb74

      

  • 相关阅读:
    1057. 数零壹(20)
    Docker镜像操作
    Maven 常用操作
    k8s集群搭建(kubadm方式)
    Spring单事务多线程操作引来的问题(Lock wait timeout exceeded; try restarting transaction)
    Centos7 Maven 安装教程
    Centos7 Git安装教程
    Centos7 Docker安装mysql5.7
    Centos7 Docker安装Nginx教程
    SpringBoot启动及配置文件加载原理分析
  • 原文地址:https://www.cnblogs.com/yust/p/11311848.html
Copyright © 2020-2023  润新知