目录

Ribbon负载均衡

Ribbon负载均衡是一种在分布式系统中用于分发网络请求的技术。它是Netflix开源的负载均衡器,通常与微服务架构一起使用。

微服务架构 中,系统由多个服务实例组成,每个实例运行在不同的主机或容器中。当客户端发送请求时,需要将请求分发到合适的服务实例上进行处理,在保持高可用性和性能的同时避免过载

Ribbon负载均衡通过在客户端端实现负载均衡,将请求分发到可用的服务实例上。它通过以下步骤来选择一个服务实例:

  1. 通过服务注册与发现机制,Ribbon获取可用的服务实例列表。

  2. 根据一定的负载均衡算法,如轮询、随机、加权轮询等,从实例列表中选择一个实例。

  3. 将请求发送到所选的服务实例。

使用Ribbon负载均衡的好处包括:

  • 分发负载:Ribbon能够根据负载均衡算法均匀地将请求分发到不同的服务实例上,避免某个实例过载而影响整个系统的性能。

  • 高可用性:当某个服务实例不可用时,Ribbon能够自动切换到可用的实例,提高系统的可靠性和容错性。

  • 动态更新:当新的服务实例加入或现有的实例退出时,Ribbon能够动态地更新可用的实例列表,确保请求能够正确地分发。

Ribbon负载均衡通常与其他组件一起使用,如服务注册与发现(例如Eureka、Consul)、服务网关(例如Zuul、Spring Cloud Gateway)和断路器(例如Hystrix),以构建弹性和可靠的分布式系统。

Ribbon负载均衡规则

1、规则接口是IRule

2、默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询

以上两种策略各有优缺点

代码方式:配置灵活,但修改时需要重新打包发布

配置方式:直观,方便,无需重新打包发布但是无法做全局配置

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
拄杖忙学轻声码18 分钟前
shardingsphere-jdbc集成Seata分布式事务
mysql·spring cloud
码代码的小农5 小时前
SpringCloud Alibaba微服务工程搭建
spring·spring cloud·微服务
识途老码20 小时前
Ningx负载均衡
运维·负载均衡
小杜-coding21 小时前
黑马头条day02
java·spring boot·spring·spring cloud·java-ee·maven·mybatis
AronTing1 天前
11-Spring Cloud OpenFeign 深度解析:从基础概念到对比实战
后端·spring cloud·架构
2401_890665861 天前
免费送源码:Java+ssm+MySQL 基于PHP在线考试系统的设计与实现 计算机毕业设计原创定制
java·hadoop·spring boot·python·mysql·spring cloud·php
小杨4042 天前
springboot框架项目实践应用十九(nacos配置中心)
spring boot·后端·spring cloud
Neo Yang2 天前
Spring Cloud初探之使用load balance包做负载均衡(三)
spring cloud·负载均衡·load balance
魔道不误砍柴功2 天前
SpringCloud Alibaba 之分布式全局事务 Seata 原理分析
分布式·spring·spring cloud
Charlie__ZS2 天前
Spring Cloud-负载均衡
spring·spring cloud·负载均衡