最近跟我媽在聊天,我問我媽,你覺得找個程序員談戀愛怎麼樣,我媽說,會修電腦嗎?
我媽是不是對程序員有什麼誤解,不過,以前我好像也是這麼想的,而且還不止我一個妹子這麼想...
好吧,說正事專用臉...(嚴肅)
dubbo調用模塊核心功能是發起一個遠程方法的調用並順利拿到返回結果,其體系組成如下:
1. 透明代理:通過動態代理技術,屏蔽遠程調用細節以提高編程友好性。
2. 負載均衡:當有多個提供者是,如何選擇哪個進行調用的負載算法。
3. 容錯機制:當服務調用失敗時採取的策略
4. 調用方式:支持同步調用、異步調用
5. 結果獲取:指同步等待結果返回,還是異步通過回調通知獲取結果。
負載均衡
Dubbo 目前官方支持以下負載均衡策略:
1. 隨機(random):按權重設置隨機概率。此為默認算法.
2. 輪循 (roundrobin):按公約後的權重設置輪循比率。
3. 最少活躍調用數(leastactive):相同活躍數的隨機,活躍數指調用前後計數差。
4. 一致性Hash(consistenthash ):相同的參數總是發到同一臺機器
設置方式支持如下四種方式設置,優先級由低至高
配置loadbalance
配置需要hash 的參數與虛擬節點數
發起遠程調用
一至性hash 算法詳解:
容錯
Dubbo 官方目前支持以下容錯策略:
1. 失敗自動切換:調用失敗後基於retries=“2” 屬性重試其它服務器
2. 快速失敗:快速失敗,只發起一次調用,失敗立即報錯。
3. 勿略失敗:失敗後勿略,不拋出異常給客戶端。
4. 失敗重試:失敗自動恢復,後臺記錄失敗請求,定時重發。通常用於消息通知操作
5. 並行調用: 只要一個成功即返回,並行調用指定數量機器,可通過 forks="2" 來設置最大並行數。
6. 廣播調用:廣播調用所有提供者,逐個調用,任意一臺報錯則報錯
設置方式支持如下兩種方式設置,優先級由低至高
異步調用
異步調用是指發起遠程調用之後獲取結果的方式。
1. 同步等待結果返回
2. 異步等待結果返回
3. 不需要返回結果
你確定不關注我,不給我一個監督你熱愛學習的機會嘛?為了更文,我居然開始掉頭髮了,我是不是要禿頂了.....
閱讀更多 JAVA鼓勵師 的文章