首页 > 其他分享 >Ribbon负载均衡

Ribbon负载均衡

时间:2023-10-18 11:03:50浏览次数:28  
标签:负载 饥饿 IRule 均衡 Ribbon 加载

1.Ribbon负载均衡规则
  规则接口是IRule
  默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询
2.负载均衡自定义方式
  代码方式:配置灵活,但修改时需要重新打包发布
  配置方式:直观,方便,无需重新打包发布,但是无法做全局配置
3.饥饿加载
  开启饥饿加载
  指定饥饿加载的微服务名称

负载均衡流程

 负载均衡策略

Ribbon的负载均衡规则是一个叫做IRule的接口来定义的,每一个子接口都是一种规则:

 

 

通过定义IRule实现可以修改负载均衡规则,有两种方式:

代码方式:在order-service中的OrderApplication类中,定义一个新的IRule:

@Bean
public IRule randomRule(){
  return new RandomRule();
}

配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改规则:

userservice:
    ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule# 负载均衡规则 

 配置饥饿加载

Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。 而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载:

ribbon:
    eager-load:
        enabled: true # 开启饥饿加载 
        clients: userservice # 指定对userservice这个服务饥饿加载

 

标签:负载,饥饿,IRule,均衡,Ribbon,加载
From: https://www.cnblogs.com/gfl-1112/p/17771513.html

相关文章

  • nginx负载均衡
    一问题什么是负载均衡?二解决·字面意思,负载就是压力,均衡就是按规则分摊·把压力按规则分摊 如下图,访问量太大,一个服务器,顶不住 拿多个服务器分摊一下,但访问哪些服务器呢?这就靠nginx了  三玩法......
  • 在 kubernetes 环境中实现 gRPC 负载均衡
    前言前段时间写过一篇gRPC的入门文章,在最后还留了一个坑没有填:也就是gRPC的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对Istio这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了kubernetes的service进行负载,好在也没有出什么问题......
  • nacos负载均衡改为loadbance
    nacos用于负载均衡使用了ribbon组件,现如今ribbon已经不维护了,SpringCloudLoadBalancer是SpringCloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon(已经停更)1.去除ribbon的依赖<!--nacos-服务注册发现--><dependency><groupId>com.alibaba.cloud</groupId>......
  • 【leach协议】基于粒子群算法改进能量均衡高效WSN的LEACH协议附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Ribbon负载均衡流程
        ......
  • 负载均衡(Load balancing)SLB
    什么是负载均衡?负载均衡(Loadbalancing)是指在计算机网络领域中,将客户端请求分配到多台服务器上以实现带宽资源共享、优化资源利用率和提高系统性能的技术。负载均衡可以帮助小云有效解决单个服务器容量不足或性能瓶颈的问题,小云通过平衡流量负载,使得多台服务器能够共同完成请求处理......
  • Kafka消费者群组和负载均衡
    前言在大数据时代,消息处理成为众多企业关注的焦点。而Kafka作为一种高性能、分布式的消息系统,通过其消费者群组和负载均衡的特性,实现了高效的消息处理和可靠的数据传递。消费者群组Kafka的消费者群组是一种灵活而强大的机制,允许多个消费者协同工作以实现高吞吐量的消息处理。......
  • Netflix之Ribbon
    一、负载均衡1、背景当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统......
  • [SpringCloud 01] RestTemplate Ribbon Feign
    SpringCloud11.RestTemplatespringcloud是基于rest的框架,所以在调用其他服务的时候,可以支持用restTemplate来调用.可以在spring中首先用@Bean的方式把ResTemplate放入spring容器@ConfigurationpublicclassMyConfig{@BeanpublicRestTemplategetRestTem......
  • nginx实现后端tomcat的负载均衡调度
    1.负载均衡主机和网络地址规划10.0.0.152proxy.magedu.orgnginx10.0.0.150t1.magedu.orgtomcat110.0.0.160t2.magedu.orgtomcat2#只需在10.0.0.52的nginx主机上实现域名解析[root@localhost~]#cat/etc/hosts127.0.0.1localhost......