Ribbon负载均衡

Ribbon负载均衡

概述

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具

主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。

Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。

简单的说,就是在配置文件中列出Load Balance(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)去连接这些机器。

我们也很容易使用Ribbon实现自定义的负载均衡算法

LB负载均衡

LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。

负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而到达系统的HA(高可用 )。

常见的负载均衡有软件Nginx,LVS,硬件F5等。

相应在中间件,例如:dubbo和SpringCloud中均给我们提供了负载均衡,SpringCloud的负载均衡算法可以自定义


Ribbon配置初步

修改consumer-dept-80工程

  1. consumer-80模块消费者模块POM添加Ribbon依赖

  2. 修改yml,追加eureka服务注册地址

  3. 对ConfigBean进行新注解@LoaderBalanced 获得Rest时加入Ribbon的配置

  4. 主启动类添加@EnableEurekaClient

  5. 修改Controller客户端访问类,请求地址改为微服务名

  6. 先启动3哥eureka集群,在启动8001进行注册进eureka,启动80

Ribbon和Eureka整合后Consumer可以直接调用服务而不再关心地址和端口号

Ribbon负载均衡

Ribbon在工作时分成两步:

step1------先选择EurekaServer,它优先选择在同一个区域内负载较少的server

step2------再根据用户指定的策略,在从server取到的服务注册列表中选择一个地址

Ribbon核心组件IRule

根据特定算法从服务列表中选取一个要访问的服务

使用方法,在ConfigBean中 显式声明

Ribbon自定义

相关推荐
清晓粼溪39 分钟前
RestTemplate
java·spring cloud
Knight_AL2 小时前
深入理解 PropertySource 与优先级:Spring Boot/Spring Cloud 配置体系的底层原理
spring boot·后端·spring cloud
lbb 小魔仙4 小时前
【Java】Spring Data JPA 详解:ORM 映射、查询方法与复杂 SQL 处理
java·开发语言·sql·spring cloud
登山人在路上4 小时前
Nginx负载均衡策略
服务器·nginx·负载均衡
lbb 小魔仙9 小时前
【Java】Spring Cloud 微服务架构入门:五大核心组件与分布式系统搭建
java·spring cloud·架构
TDengine (老段)9 小时前
TDengine 客户端负载均衡与 failover
大数据·数据库·负载均衡·时序数据库·tdengine·涛思数据
我要打倒凹凸曼9 小时前
使用 Nginx 实现 Tomcat 集群的负载均衡
nginx·tomcat·负载均衡
醒过来摸鱼9 小时前
Spring Cloud Gateway
java·spring·spring cloud
后端小张9 小时前
【JAVA 进阶】Spring Boot自动配置详解
java·开发语言·人工智能·spring boot·后端·spring·spring cloud
地瓜伯伯1 天前
SpringBoot项目整合Elasticsearch启动失败的常见错误总结(2)
spring boot·elasticsearch·spring cloud