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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM