概述
负载均衡策略:
(1). random LoadBalance
随机调用,实现负载均衡,dubbo默认的模式
(2). roundrobin LoadBalance
轮询调用,就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器负载过高,所以可以调整权重,让性能差的机器承载权重少一些,流量少一些。
(3). leastactive LoadBalance
最少活跃数,这个就是感知一下,如果某个机器性能越差,那么接收的请求越少,越不活跃,此时就会给不活跃的性能差的机器更少的请求。
(4). consistanthash LoadBalance
一致性Hash,相同参数的请求一定分发到一个provider,provider挂掉的时候,会基于虚拟节点均匀分配剩余的流量,抖动不会太大。如果你需要的不是随机负载均衡,是要一类请求都到一个节点,那就走这个一致性hash策略。
高可用策略(集群容错策略):
(1). failover cluster模式
失败自动切换,自动重试其他机器,默认就是这个,常见于读操作
可以通过以下几种方式配置重试次数:
<dubbo:service retries="2" />
或者
<dubbo:reference retries="2" />
或者
<dubbo:reference>
<dubbo:method name="findFoo" retries="2" />
</dubbo:reference>
(2). failfast cluster模式
一次调用失败就立即失败,常见于非幂等性的写操作
(3). failsafe cluster模式
出现异常时忽略掉,常用语不重要的接口调用,比如记录日志
<dubbo:service cluster="failsafe" />
或者
<dubbo:reference cluster="failsafe" />
(4). failback cluster模式
失败了后台自动记录请求,然后定时重发,比较适合于写消息队列这种
(5). forking cluster模式
并行调用多个provider,只要一个成功就立即返回,常见于实时性要求比较高的读操作,但是会浪费更多的资源,可通过 forks=“2” 来设置最大并行数。
(6). broadcacst cluster模式
逐个调用所有的provider,任何一个出错则报错,通常用于通知所有提供者更新缓存或日志等本地资源信息。
最后
以上就是朴素鱼为你收集整理的Dubbo的负载均衡策略和高可用策略都有哪些?的全部内容,希望文章能够帮你解决Dubbo的负载均衡策略和高可用策略都有哪些?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复