您现在的位置是:亿华云 > 热点
阿里面试:Dubbo负载均衡有哪些策略?
亿华云2025-10-03 06:50:36【热点】4人已围观
简介来源:mikechen的互联网架构Dubbo是一款高性能的Java RPC框架,它提供了多种负载均衡策略,一般大厂也爱问:Dubbo常用的负载均衡策略有哪些?下面我来详解1.随机Random)随机选择
来源:mikechen的阿里互联网架构
Dubbo是一款高性能的Java RPC框架,它提供了多种负载均衡策略,面试一般大厂也爱问:Dubbo常用的载均负载均衡策略有哪些?下面我来详解
1.随机(Random)
随机选择一个可用的服务提供者进行请求调度,如下图所示:
每个服务提供者的权重不考虑,具有相同的阿里被选中概率。
配置如下;
<dubbo:referenceid="myService"interface="com.example.MyService"loadbalance="random"/>2.轮询(Round Robin)
按照轮询的面试方式依次选择可用的服务提供者,如下图所示:
每个服务提供者的权重不考虑,按顺序依次选择。策略
配置如下:
<dubbo:referenceid="myService"interface="com.example.MyService"loadbalance="roundrobin"/>适用于服务器性能相近,阿里没有特别要求的香港云服务器面试场景。
3.最少连接(Least Connection)
最少连接策略:将新的载均请求分配给当前连接数最少的服务器。
如下图所示:
这样做可以确保负载更均衡,因为连接数较少的阿里服务器有更多的处理能力来处理新的请求。
4.一致性哈希(Consistent Hash)
将请求的面试参数或标识进行哈希计算,选择哈希值最接近服务提供者的载均节点进行调度。
如下图所示:
配置如下:
<dubbo:referenceid="myService"interface="com.example.MyService"loadbalance="consistenthash"><dubbo:parameterkey="hash.arguments"value="param1,param2"/></dubbo:reference>适合于:相同IP地址的请求总是被分发到同一个服务器上的场景。
5.加权随机(Weighted Random)
为每个服务提供者分配一个权重值,按照权重比例选择服务提供者进行请求调度,云南idc服务商权重越高的服务提供者被选中的概率越大。
配置如下:
<dubbo:referenceid="myService"interface="com.example.MyService"loadbalance="random"><dubbo:parameterkey="weights"value="2,1,1"/></dubbo:reference>6.加权轮询(Weighted Round Robin)
为每个服务提供者分配一个权重值,按照权重比例依次选择服务提供者进行请求调度,权重越高的服务提供者被选中的次数越多。
配置如下:
<dubbo:referenceid="myService"interface="com.example.MyService"loadbalance="roundrobin"><dubbo:parameterkey="weights"value="2,1,1"/></dubbo:reference>适用于服务器性能不均衡的场景,可以根据服务器性能设置不同的权重,充分利用性能较高的服务器处理更多的请求。
对于拥有不同硬件配置或处理能力的服务器集群,加权轮询可以更好地分配负载。
高防服务器很赞哦!(153)