Dubbo工作流程、特點、負載均衡及容錯機制總結

Dubbo框架圖

在這裏插入圖片描述

工作流程

1.啓動服務所在容器,異步將服務列表註冊到註冊中心
2.消費者啓動,從註冊中心訂閱所需的服務列表,當服務列表有變化時,註冊中心會將服務列表推送到消費者
3.消費者可以通過服務列表選擇一個服務者進行同步調用
4.消費者與服務者會統計服務調用時間與調用次數,每分鐘向監控中心發送一次數據

Dubbo具有如下特點

1.連通性
消費者通過服務列表遠程調用服務,調用過程不必經過註冊中心,註冊中心壓力較小
當註冊中心宕機時,消費者仍可通過本地緩存調用服務
註冊中心通過長連接感知服務提供者的存在,服務提供者宕機,註冊中心立即將事件通知到消費者
2.健壯性
負載均衡
容錯機制
服務提供者全部宕掉後,服務消費者將無法使用,並無限次重連等待服務提供者恢復
3.伸縮性
註冊中心對等集羣,可動態增加機器部署實例,所有客戶端將自動發現新的註冊中心
服務提供者無狀態,可動態增加機器部署實例,註冊中心將推送新的服務提供者信息給消費者

負載均衡方式 loadbalance

1.隨機訪問:默認的負載均衡機制,對集羣中服務節點進行隨機訪問
2.輪詢訪問:按照順序輪詢訪問,可能帶來訪問積壓的情景
3.一致性hash:相同參數訪問同一個服務節點
4.最少活躍調用數,響應慢的服務節點最少訪問:(調用時計數,調用成功返回時計數減一,下一個服務調用時選擇計數少的,因爲計數少說明返回多,響應快)

容錯機制 cluster

1.failover:發生錯誤時切換重試,默認兩次 默認的容錯機制 適合讀的場景
2.failfast:發生錯誤時報異常,適用於非冪等的寫請求
3.failsafe:發生錯誤時忽略,適用於記錄審計日誌等操作
4.failback:發生錯誤時記錄異常,並相隔一定時間再次重試,適用於消息通知
5.forking:並行調用多個服務器(可設置,默認2),一個響應成功即返回,適用於要求實時性比較高的場景,缺點是會帶來額外開銷
6.broadcast:訪問所有節點,如果有失敗則報錯,用於通知服務方更新緩存或日誌等本地資源

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