Dubbo 的负载均衡策略?
Dubbo 面试题发布于
一、四种策略
- Random(默认):随机,按权重加权随机。
- RoundRobin:轮询,按权重轮询,慢的 Provider 会累积请求。
- LeastActive:最少活跃调用,慢的 Provider 收到更少请求。
- ConsistentHash:一致性哈希,相同参数请求到同一 Provider。
二、配置
@DubboReference(loadbalance = "random")
private UserService userService;
或服务端配置:
@DubboService(loadbalance = "leastactive")
public class UserServiceImpl implements UserService {}
三、权重
通过 weight 参数调整,动态调节负载。LeastActive + 权重是生产常用组合,避免慢节点拖垮。
四、集群容错
- failover(默认):失败重试,默认 2 次。
- failfast:快速失败,只调一次。
- failsafe:安全失败,忽略异常。
- failback:异步重试,适合通知。
- forking:并行调多个,取第一个成功。