分布式架構(gòu)學(xué)習(xí)之:022--Dubbo負(fù)載均衡
https://blog.csdn.net/xxssyyyyssxx/article/details/71746533
- Random LoadBalance
隨機(jī),按權(quán)重設(shè)置隨機(jī)概率。
在一個截面上碰撞的概率高,但調(diào)用量越大分布越均勻,而且按概率使用權(quán)重后也比較均勻,有利于動態(tài)調(diào)整提供者權(quán)重。
- RoundRobin LoadBalance
輪循,按公約后的權(quán)重設(shè)置輪循比率。
存在慢的提供者累積請求問題,比如:第二臺機(jī)器很慢,但沒掛,當(dāng)請求調(diào)到第二臺時就卡在那,久而久之,所有請求都卡在調(diào)到第二臺上。
- LeastActive LoadBalance
最少活躍調(diào)用數(shù),相同活躍數(shù)的隨機(jī),活躍數(shù)指調(diào)用前后計數(shù)差。
使慢的提供者收到更少請求,因?yàn)樵铰奶峁┱叩恼{(diào)用前后計數(shù)差會越大。
- ConsistentHash LoadBalance
一致性Hash,相同參數(shù)的請求總是發(fā)到同一提供者。
當(dāng)某一臺提供者掛時,原本發(fā)往該提供者的請求,基于虛擬節(jié)點(diǎn),平攤到其它提供者,不會引起劇烈變動。
Dubbo之旅--集群容錯和負(fù)載均衡
https://blog.csdn.net/jnqqls/article/details/46702103
集群容錯模式:
- Failover Cluster
失敗自動切換,當(dāng)出現(xiàn)失敗,重試其它服務(wù)器。(缺省)
通常用于讀操作,但重試會帶來更長延遲。
可通過retries="2"來設(shè)置重試次數(shù)(不含第一次)。正是文章剛開始說的那種情況.
- Failfast Cluster
快速失敗,只發(fā)起一次調(diào)用,失敗立即報錯。
通常用于非冪等性的寫操作,比如新增記錄。
- Failsafe Cluster
失敗安全,出現(xiàn)異常時,直接忽略。
通常用于寫入審計日志等操作。
- Failback Cluster
失敗自動恢復(fù),后臺記錄失敗請求,定時重發(fā)。
通常用于消息通知操作。
- Forking Cluster
并行調(diào)用多個服務(wù)器,只要一個成功即返回。
通常用于實(shí)時性要求較高的讀操作,但需要浪費(fèi)更多服務(wù)資源。
可通過forks="2"來設(shè)置最大并行數(shù)。
- Broadcast Cluster
廣播調(diào)用所有提供者,逐個調(diào)用,任意一臺報錯則報錯。(2.1.0開始支持)
通常用于通知所有提供者更新緩存或日志等本地資源信息。