Dubbo的高可用性
zookeeper宕機
zookeeper註冊中心宕機,還可以消費dubbo暴露的服務
1、註冊中心是一個集羣,一臺宕掉之後,可切換到另外一臺
2、註冊中心全部宕掉,服務provider和服務consumer可以通過本地緩存通訊
dubbo直連
服務consumer可以不通過註冊中心獲得服務provider的信息,可以採用dubbo直連,例如
@Reference(url=“ip:port”)
dubbo的負載均衡
dubbo提供多種策略(默認Random)
Random LoadBalance(基於權重的負載均衡,訪問隨機,考慮權重)
RoundRobin LoadBalance(基於權重的輪訓的負載均衡,訪問有順序,考慮權重)
LeastActive LoadBalance(最少活躍調用數,調用最快的provider)
ConsistentHash LoadBalance(一致性hash)
http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html
服務降級
當服務器壓力增加的時候,對部分不重要的業務不處理或者簡單處理,保證核心業務的正常運行
- mock=force:return+null 表示消費方對該服務的方法調用都直接返回 null 值,不發起遠程調用。用來屏蔽不重要服務不可用時對調用方的影響。
- mock=fail:return+null 表示消費方對該服務的方法調用在失敗後,再返回 null 值,不拋異常。用來容忍不重要服務不穩定時對調用方的影響。
容錯
容錯方案
http://dubbo.apache.org/zh-cn/docs/user/demos/fault-tolerent-strategy.html
(可使用hystrix)