Dubbo注解@Reference之负载均衡(loadbalance属性)

本文详细介绍了Dubbo中@Reference注解的使用,包括loadbalance参数的四种负载均衡策略:随机(Random)、轮询(RoundRobin)、最少活跃(LeastActive)和一致性Hash(ConsistentHash),并对比了它们的特点。此外,还涵盖了Java注解查询的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于Dubbo负载均衡说明:

由于所有的消费者在服务器内部完成了负载均衡,所以称之为客户端负载均衡.(区别于nginx的集中式负载均衡)


注解@Reference的使用和说明:

利用dubbo的方式为接口创建代理对象 利用RPC调用。
注解使用:
@Reference 该注解是dubbo的注解,也是注入,他一般注入的是分布式的远程服务(微服务)的对象,需要dubbo配置使用。


三种注入方式的区别(@Reference、@Autowirde、@Resource):

@Reference注入的是分布式中的远程服务对象。

@Resource和@Autowired注入的是本地spring容器中的对象。
@Autowired按byType自动注入。
@Resource默认按 byName自动注入


注解@Reference 参数 loadbalance 的使用说明:

Random 随机策略(默认策略)

@Reference(loadbalance=“random”)
随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。


RoundRobin 轮询策略

@Reference(loadbalance=“roundrobin”)
轮询,按公约后的权重设置轮询比率。
存在慢的提供者类即请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。


LeastActive 最小访问量

@Reference(loadbalance=“leastactive”)
最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。


ConsistentHash 一致性hash算法

@Reference(loadbalance=“consistenthash”)
一致性Hash,相同参数的请求总是发到同一提供者。
当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其他提供者,不会引起剧烈变动。


Java注解查询:

查询注解可参考:Java常用注解(Annotation)详解汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值