首页 > 其他 > 详细

Dubbo负载均衡

时间:2020-07-07 13:33:57      阅读:66      评论:0      收藏:0      [点我收藏+]

一、搭建负载均衡环境

两个提供者,一个消费者

二、创建提供者

(1) 创建提供者02-provider-zk01

A、创建工程

复制前面的02-provider-zk工程,并重命名为02-provider-zk01

技术分享图片

B、 修改配置文件

技术分享图片

C、修改Service实现类

技术分享图片

(2) 创建提供者02-provider-zk02

A、创建工程

复制前面的02-provider-zk工程,并重命名为02-provider-zk2

技术分享图片

B、修改配置文件

技术分享图片

C、修改Service实现类

技术分享图片

三、 创建消费者02-consumer-zk01

A、创建工程

技术分享图片

B、修改配置文件

技术分享图片

C、创建消费者

技术分享图片

四、负载均衡算法

若消费者与提供者均设置了负载均衡策略,消费者端设置的优先级高。
若消费者端没有显式的设置,但提供者端显式的设置了,且同一个服务(接口名、版本号、分组都相同)的负载均衡策略相同。消费者调用时会按照提供者设置的策略调用。
若多个提供者端设置的不相同,则最后一个注册的会将前面注册的信息覆盖

(1) Dubbo内置的负载均衡算法

A、random(默认)
随机算法,是Dubbo默认的负载均衡算法。存在服务堆积问题。
B、roundrobin
轮询算法。按照设定好的权重依次进行调度。
C、leastactive
最少活跃度调度算法。即被调度的次数越少,其优选级就越高,被调度到的机率就越高。
D、consistenthash
一致性hash算法。对于相同参数的请求,其会被路由到相同的提供者。

(2) 指定负载均衡算法

负载均衡算法可以在消费者端指定,也可以在提供者端指定

服务端服务级别

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

客户端服务级别

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

服务端方法级别

  1. <dubbo:service interface="...">
  2. <dubbo:method name="..." loadbalance="roundrobin"/>
  3. </dubbo:service>

客户端方法级别

  1. <dubbo:reference interface="...">
  2. <dubbo:method name="..." loadbalance="roundrobin"/>
  3. </dubbo:reference>

官方介绍

http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html

Dubbo负载均衡

原文:https://www.cnblogs.com/edda/p/13260156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!