Dubbo---负载均衡

本小妞迷上赌 提交于 2019-12-13 04:15:00

负载均衡策略
Dubbo内置了四种负载均衡策略:
RandomLoadBalance:随机负载均衡,默认的策略
RoundRobinLoadBalance:轮询负载均衡
LeastActiveLoadBalance:最少活跃调用数
ConsistenHashLoadBalance:一致性哈希,相同参数的请求总是会落在同一个机器上。

1.随机负载均衡
随机主要是根据权重来抉择的,权重大的概率就会大一点。
如果所有的机器的权重是一样的,算法就简单了,机器中直接随机就好了。
如果机器的权重不一样,例如,a的权重10,b的权重20,c的权重30,那么总的权重的10+20+30=60,a的范围就是0-10,b的范围是10-30,c的范围是30-60,然后在0——60中生成一个随机数,数字落在哪个区间就选择哪个机器。

2.轮询负载均衡
存在一个问题,就是当某一台机器慢的情况下,但是还没挂,时间长了会累计请求。

3.最小活跃数
活跃数指的是接收一次请求活跃计数器+1,请求处理完成-1,在某一时刻,服务提供者当前的活跃数。也就是说还有多少个正在处理的请求。
最小活跃数,意思就是选择服务提供者空闲状态的机器。(能者多劳)。
如果活跃数相同,则会根据随机负载均衡策略选择一台机器。
4.一致性哈希
某个节点宕机,影响的是邻近的下一个节点。如果节点少,容易出现数据倾斜的问题。

配置方式
服务端:
服务级别

<dubbo:service interface="" loadbalance="roundrobin"/>

方法级别

<dubbo:service interface="">
   <dubbo:method name="" loadbalance="roundrobin"/>
</dubbo:service>

客户端:
服务级别:

<dubbo:reference interface="" loadbalance="roundrobin"/>

方法级别:

<dubbo:reference interface="">
	<dubbo:method name="" loadbalance="roundrobin"/>
</dubbo:reference>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!