Dubbo注解@Reference之负载均衡(loadbalance属性)
@Reference注解的使用
- 关于Dubbo负载均衡说明:
- 注解@Reference的使用和说明:
- 注解@Reference 参数 loadbalance 的使用说明:
- Random 随机策略(默认策略)
- RoundRobin 轮询策略
- LeastActive 最小访问量
- ConsistentHash 一致性hash算法
- Java注解查询:
关于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)详解汇总
还没有评论,来说两句吧...