全站資源開放下載,感謝廣大網友的支持
鏈接失效請移步職業司平臺
非盈利平臺

非盈利平臺

只為分享一些優質內容

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

微信小程序

微信小程序

更方便的閱讀

職業司微信公眾號

職業司微信公眾號

實時動態通知

安卓APP

安卓APP

我們從此不分開

程序員生活志-公眾號

程序員生活志-公眾號

程序員生活學習圈,互聯網八卦黑料

支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區

Dubbo入門學習--集群容錯模式?(5)

18
發表時間:2018-05-15 11:59

Dubbo入門學習--集群容錯模式

集群容錯模式:

可以自行擴展集群容錯策略

Available Cluster
  • 只調用可執行的服務


Failover Cluster
  • 失敗自動切換,當出現失敗,重試其它服務器。(缺省)

  • 通常用于讀操作,但重試會帶來更長延遲。

  • 可通過retries="2"來設置重試次數(不含第一次)。

Failfast Cluster
  • 快速失敗,只發起一次調用,失敗立即報錯。

  • 通常用于非冪等性的寫操作,比如新增記錄。

Failsafe Cluster
  • 失敗安全,出現異常時,直接忽略。

  • 通常用于寫入審計日志等操作。

Failback Cluster
  • 失敗自動恢復,后臺記錄失敗請求,定時重發。

  • 通常用于消息通知操作。

Forking Cluster
  • 并行調用多個服務器,只要一個成功即返回。

  • 通常用于實時性要求較高的讀操作,但需要浪費更多服務資源。

  • 可通過forks="2"來設置最大并行數。

Broadcast Cluster
  • 廣播調用所有提供者,逐個調用,任意一臺報錯則報錯。(2.1.0開始支持)

  • 通常用于通知所有提供者更新緩存或日志等本地資源信息。

重試次數配置如:(failover集群模式生效)

<dubbo:service retries="2" />

或:

<dubbo:reference retries="2" />

或:

<dubbo:reference>
   <dubbo:method name="findFoo" retries="2" />
</dubbo:reference>

集群模式配置如:

<dubbo:service cluster="failsafe" />

或:

<dubbo:reference cluster="failsafe" />


集群容錯模式實現類:

Dubbo默認的集群容錯模式是Failover Cluster,失敗自動切換,當出現失敗,重試其他服務器。我們分析一下其失敗重試的原理。

其關鍵是通過一個for循環,如果第一次調用成功則return返回,如果失敗捕捉異常之后再嘗試調用其他服務。

長按二維碼
關注我們吧


Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
業司
教育資訊
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部