zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    java 整型相除得到浮点型
    Interleaving String
    Insert Interval
    Mashup
    R-TREE
    默认以管理员身份运行VS2013/15/17
    C:malloc/calloc/realloc/alloca内存分配函数
    VS2015快捷键
    C++:UNREFERENCED_PARAMETER用法
    VC++常用数据类型及其操作详解
  • 原文地址:https://www.cnblogs.com/yust/p/11311848.html
Copyright © 2011-2022 走看看