Ribbon负载均衡工作流程、策略修改及饥饿加载

Ribbon负载均衡

1、负载均衡实现流程

在这里插入图片描述

2、Ribbon内部流程

在这里插入图片描述

一、负载均衡策略

在这里插入图片描述

常见负载均衡策略:
内置负载均衡规则类规则描述
RoundRobinRule简单轮询服务列表来选择服务器,是Ribbon默认的负载均衡规则
AvailabilityFilteringRule对以下 两种服务器进行忽略:1、短路状态的机器(3次连接不上即设置为短路状态30s,后续再次失败,持续时间几何增加);2、并发过高的机器(并发数可由客户端设置:《clientName》.《clientConfigNameSpace》.ActiveConnectionsLimit属性进行配置)
WeightedResponseTimeRule依据权重值选择(权重值:响应时间越长,权重值越小)
ZoneAvoidanceRule使用zone选择机房/机架后,再轮询(@LoadBalanced默认实现)
BestAvailableRule忽略短路机器,并选择并发低的机器
RandomRule随机选用一个可用的服务器
RetryRule重试机制

二、修改负载均衡策略

1、全局修改,在Application启动类中重新定义一个IRule

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

2、配置文件方式(消费者的application.yml文件中),可对不同服务定义不同策略:

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则

三、Ribbon饥饿加载

Ribbon默认:懒加载

即第一次访问时,才去创建LoadBalancerClient,故请求时间长(与单例的懒汉模式类似)

饥饿加载:

启动时创建LoadBalancerClient,降低第一次调用时的功耗(与单例的饿汉模式类似)

启动饥饿加载的方式:

ribbon:
  eager-load:
    enabled: true # 开启饥饿加载
    clients: # 指定饥饿加载的服务名称,可多个
      - userservice
      - orderservice
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值