SpringCloud微服务技术之Ribbon负载均衡简介

本文深入探讨Ribbon的负载均衡机制,包括拦截请求的原理,如何自定义负载均衡策略,以及如何通过配置实现饥饿加载以提高首次访问速度。通过设置IRule接口和YML配置,可以改变负载均衡规则。同时,启用饥饿加载能确保在项目启动时预先创建LoadBalanceClient,提升用户体验。
摘要由CSDN通过智能技术生成


前言

讲讲Ribbon负载均衡 .

负载均衡对外暴露的地址不是真实可用的地址 , Ribbon拦截请求之后 , 回去eureka里寻找真实地址 ;

提示:以下是本篇文章正文内容,下面案例可供参考

一、拦截动作的原理

拦截动作由 LoadBalancerInterceptor类完成 , 接口 ClientHttpRequestInterceptor会拦截http请求

在这里插入图片描述

二、负载均衡策略

Ribbon的负载均衡规则由IRule接口来定义

用户通过定义IRule实现可以修改负载均衡规则

  1. 方法一 : 在启动类中的定义一个新的IRule
 @Bean
    public IRule randomRule() {
        return new RandomRule();
    }
  1. 在yml文件中配置 — 这种方式是针对某一个特定的微服务来做负载均衡的 , 👇这里就是针对 userservice服务 做的负载均衡 :
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule  # 负载均衡规则

上述二者yml/bean两种方式只能取其一


三、饥饿加载

Ribbon采用默认的懒加载 , 即在第一次访问时才会去创建 LoadBalanceClient 请求时间较长

而饥饿加载 会在项目启动的时候就创建 , 大大提高了用户首次访问时的响应速度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值