Dubbo的負載均衡可以通過配置文件中的dubbo:protocol標簽的loadbalance屬性來進行配置,默認支持四種負載均衡策略:
Random LoadBalance(默認): 隨機選擇一個服務提供者進行調用。
RoundRobin LoadBalance: 輪詢選擇一個服務提供者進行調用,每個服務提供者按順序調用。
LeastActive LoadBalance: 選擇活躍數最小的服務提供者進行調用,活躍數指的是當前正在處理請求的線程數。
ConsistentHash LoadBalance: 一致性哈希算法,根據調用方法的參數進行hash計算,相同參數的請求總是發到同一提供者。
在dubbo:service和dubbo:reference標簽中,可以通過配置loadbalance屬性來指定具體的負載均衡策略,例如:
<dubbo:reference interface="com.example.Service" loadbalance="random" />
此外,Dubbo還支持自定義的負載均衡策略,可以通過實現LoadBalance接口來自定義負載均衡邏輯,并在配置文件中指定該自定義的負載均衡策略。