• SpringCloudAlibaba Ribbon Nacos 负载均衡的操作案例


    目录

    一、常见的负载均衡算法

    二、ribbon默认轮询负载均衡的案例

    三、配置基于Nacos随机权重的Ribbon负载均衡


    一、常见的负载均衡算法

    1、随机,通过随机的方式进行服务调用,一般使用较少。

    2、轮询,ribbon负载均衡默认的使用方式,请求来了之后排队处理。需要注意的是本地轮询是没问题,但放到云上以后,服务器会默认按照当前区域进行轮询,如成都区域的服务器会在该区域内进行优先轮询,而不会直接调度轮询到浙江区域的服务器。

    3、加权轮询,通过对服务器性能的分析,给高配置、低负载的服务器分配更高的权重,均衡各服务器的压力。

    4、地址Hash,通过客户端请求的地址的Hash值取模进行服务器调度。ip-->hash。

    5、最小连接数,即使请求均衡了,压力不一定会均衡,最小连接数法就是根据服务器的情况,将请求分配到当前压力最小的服务器上。通过最小活跃数确定对象。

    二、ribbon默认轮询负载均衡的案例

    负载均衡策略是基于服务消费方来实现的。

    由于Nacos依赖自动集成了ribbon的负载均衡组件,这里就不再赘述,详情见我的Nacos的配置使用篇。这里我们采用了openFeign进行服务间远程的调用,详情见我的openFeign篇的使用案例。

    这里我们开启4个服务进行实验,我们通过访问服务调用方来调用以下三个服务。

     这四个服务均注册到了Nacos中进行管理。

     此时我们清空所有服务的控制台打印。通过ApiPost进行访问测试。

    15次请求调用中,可以看到通过轮询负载均衡3个服务提供方均被调用了5次 。

     

     可以看出Ribbon默认使用了轮询进行负载均衡。

    三、配置基于Nacos随机权重的Ribbon负载均衡

    方法一:基于配置类实现

     此时为全局生效

    1. package com.dragonwu.stock.ribbon;
    2. import com.netflix.loadbalancer.IRule;
    3. import com.netflix.loadbalancer.RandomRule;
    4. import org.springframework.context.annotation.Bean;
    5. import org.springframework.context.annotation.Configuration;
    6. /**
    7. * @author DragonWu
    8. * @date 2022-09-30 13:29
    9. **/
    10. @Configuration
    11. public class RibbonRandomRuleConfig {
    12. @Bean
    13. //方法名一定要叫iRule
    14. public IRule iRule(){
    15. return new RandomRule();
    16. }
    17. }

    再次测试就可以看到对应的负载均衡效果了。

    方法二:通过配置文件实现,同时适用于局部,推荐

    1. # 部分服务的负载均衡策略配置
    2. test-service:
    3. ribbon:
    4. NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

     重启运行,在nacos中配置权重

     20次访问测试,结果检查:

    结果可以看到NacosRule采用的是随机权重的负载均衡策略,权重越高访问概率越高

    权重0.2的被访问2次 

     权重0.7的被访问17次

    权重为0.1的被访问了1次

     测试次数越多会越接近于该百分比。这便是随机权重负载均衡策略。

  • 相关阅读:
    jdbc回顾
    程序员是怎么分享微信二维码的
    线性回归基本原理和公式推导
    Winform直接与Wpf交互
    UE4/5 批量进行贴图Texture压缩、修改饱和度
    华为和华三(H3C),你总要选一个才行
    外包干了2个月,技术退步明显...
    [OtterCTF 2018] 电子取证
    热门Java开发工具IDEA入门指南——离线环境下的注意事项
    助力查处非法占地现象 | 湖北某审计部门借助Bigemap开展自然资源资产审计工作
  • 原文地址:https://blog.csdn.net/qq_50909707/article/details/127121681