如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他

最近跟我媽在聊天,我問我媽,你覺得找個程序員談戀愛怎麼樣,我媽說,會修電腦嗎?

我媽是不是對程序員有什麼誤解,不過,以前我好像也是這麼想的,而且還不止我一個妹子這麼想...

好吧,說正事專用臉...(嚴肅)

如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他

dubbo調用模塊核心功能是發起一個遠程方法的調用並順利拿到返回結果,其體系組成如下:

1. 透明代理:通過動態代理技術,屏蔽遠程調用細節以提高編程友好性。

2. 負載均衡:當有多個提供者是,如何選擇哪個進行調用的負載算法。

3. 容錯機制:當服務調用失敗時採取的策略

4. 調用方式:支持同步調用、異步調用

5. 結果獲取:指同步等待結果返回,還是異步通過回調通知獲取結果。

如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他

負載均衡

Dubbo 目前官方支持以下負載均衡策略:

1. 隨機(random):按權重設置隨機概率。此為默認算法.

2. 輪循 (roundrobin):按公約後的權重設置輪循比率。

3. 最少活躍調用數(leastactive):相同活躍數的隨機,活躍數指調用前後計數差。

4. 一致性Hash(consistenthash ):相同的參數總是發到同一臺機器

如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他

設置方式支持如下四種方式設置,優先級由低至高

配置loadbalance

配置需要hash 的參數與虛擬節點數

發起遠程調用

一至性hash 算法詳解:

如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他

容錯

Dubbo 官方目前支持以下容錯策略:

1. 失敗自動切換:調用失敗後基於retries=“2” 屬性重試其它服務器

2. 快速失敗:快速失敗,只發起一次調用,失敗立即報錯。

3. 勿略失敗:失敗後勿略,不拋出異常給客戶端。

4. 失敗重試:失敗自動恢復,後臺記錄失敗請求,定時重發。通常用於消息通知操作

5. 並行調用: 只要一個成功即返回,並行調用指定數量機器,可通過 forks="2" 來設置最大並行數。

6. 廣播調用:廣播調用所有提供者,逐個調用,任意一臺報錯則報錯

設置方式支持如下兩種方式設置,優先級由低至高

異步調用

異步調用是指發起遠程調用之後獲取結果的方式。

1. 同步等待結果返回

2. 異步等待結果返回

3. 不需要返回結果

你確定不關注我,不給我一個監督你熱愛學習的機會嘛?為了更文,我居然開始掉頭髮了,我是不是要禿頂了.....

如何簡單粗暴的搞定dubbo調用模塊?一般人我不告訴他


分享到:


相關文章: