您当前的位置: 首页 >  负载均衡
  • 2浏览

    0关注

    284博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Dubbo】Spring 中 Dubbo配置实现负载均衡、集群环境详细资料

区块链(Web3)开发工程师 发布时间:2020-04-20 14:49:19 ,浏览量:2

 

目录

1. Dubbo实现负载均衡

四种负载均衡策略

配置负载均衡级别的方法:

2. Dubbo 集群部署

1. Dubbo实现负载均衡

在用dubbo作为项目架构的时候,给consumer消费者用nginx提供了负载均衡策略和集群的实现,但是想了下,consumer再多,但是提供者还是一个,最后还不都是落到了这一个provider上面?

举个列子:

  一个饭店有1个后厨在做饭,

  前台有100个点菜的服务员,

  100个顾客来点餐,每个服务员都来告诉后厨做饭的,那么后厨...

Dubbo实现负载均衡,一般是对服务的提供者来实现。我们的集群管理,也就是负载均衡,然后服务的消费者在请求消费的时候,通过一定的算法进行寻址(权重),可以参考下Nginx!

四种负载均衡策略
  • ① 随机均衡算法 Random LoadBalance  【按权重设置随机概率。在一个截面上碰撞的概率较高,但调用越大分布越均匀】

  • ② 权重轮循均衡算法 RoundRobin LoadBalance  【按公约后的权重设置轮询比例。但存在响应慢的服务提供者会累积请求,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。(针对此种情况,需要降低该服务的权值,以减少对其调用)】
  • ③ 最少活跃调用数(权重)均衡算法 LeastActive LoadBalance  【活跃数指调用前后计数差,优先调用高的,相同活跃数的随机。使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大】
  • ④ 一致性Hash均衡算法 Hash ConsistentHash LoadBalance   【相同参数总是发送到同一个提供者,如果这个提供者挂掉了,它会根据它的虚拟节点,平摊到其它服务者,不会引起巨大的变动】

注意*:缺省为random 随机 (也就是说,不配置负载均衡策略的时候,默认为random)

配置负载均衡级别的方法:

可以给服务配置级别也可精确到每个方法的级别

服务端服务级别 配置:

服务端方法级别 配置:


  

客户端服务级别 配置:

客户端方法级别 配置:


    

我们也可以通过可视化界面管理平台来操作

配置完负载均衡下面,就要来配置我们的dubbo集群了

2. Dubbo 集群部署

具体的做法是对服务提供者的配置文件进行修改 ,配置文件里面的application name相同,dubbo则会认为是同一集群。

部署多个集群只需要步骤:

  application name相同

  协议端口需要修改不同


下面是我配置服务的案例:

需求:配置一个集群环境,两个服务提供者

provider01





    
    


    
    
    
    
    

    
    

    

这个服务配置完后,打包发布到服务器运行,我们会在dubbo-admin的控制台上发现这样的内容

provider02





    
    


    
    
    
    
    

    
    

    

我们在把provider02打包发布到服务器上运行,我们会看到我们的服务均已注册成功完毕,此时也意味着集群搭建完毕了

仔细观察我们上边的配置文件不难发现,其实就是一个端口不同,其余都是相同的,

ps:

  搭建集群环境注意:

    同一集群环境中应用名必须一致

    端口必须不同

关注
打赏
1665194163
查看更多评论
立即登录/注册

微信扫码登录

0.0422s