dubbo負載容錯策略

一、dubbo 負載均衡策略
random loadbalance
  默認情況下,dubbo 是 random load balance 隨機調用實現負載均衡,可以對 provider 不同實例設置不同的權重,會按照權重來負載均衡,權重越大分配流量越高,一般就用這個默認的就可以了。

roundrobin loadbalance
  這個的話默認就是均勻地將流量打到各個機器上去,但是如果各個機器的性能不一樣,容易導致性能差的機器負載過高。所以此時需要調整權重,讓性能差的機器承載權重小一些,流量少一些。
leastactive loadbalance
  這個就是自動感知一下,如果某個機器性能越差,那麼接收的請求越少,越不活躍,此時就會給不活躍的性能差的機器更少的請求。

consistanthash loadbalance
  一致性 Hash 算法,相同參數的請求一定分發到一個 provider 上去,provider 掛掉的時候,會基於虛擬節點均勻分配剩餘的流量,抖動不會太大。如果你需要的不是隨機負載均衡,是要一類請求都到一個節點,那就走這個一致性 Hash 策略。

 

二、dubbo 集羣容錯策略
failover cluster 模式
  失敗自動切換,自動重試其他機器(失敗重試其它機器),默認就是這個,常見於讀操作。

failfast cluster模式
  一次調用失敗就立即失敗,常見於寫操作。(調用失敗就立即失敗)

failsafe cluster 模式
  出現異常時忽略掉,常用於不重要的接口調用,比如記錄日誌。

failback cluster 模式
  失敗了後臺自動記錄請求,然後定時重發,比較適合於寫消息隊列這種。

forking cluster 模式
  並行調用多個 provider,只要一個成功就立即返回。

broadcacst cluster
  逐個調用所有的 provider。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章