首页 > 其他 > 详细

Dubbo的10种集群容错模式

时间:2019-08-06 21:15:20      阅读:116      评论:0      收藏:0      [点我收藏+]

   学习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

  

 

Dubbo的10种集群容错模式

原文:https://www.cnblogs.com/yust/p/11311848.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!