Ribbon-负载均衡原理解析(案例)

简介:负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

负载均衡主要分为软件负载和硬件负载,在微服务盛行的现在,软件负载在微服务里成为主流,netflix的ribbon就是其中之一。

目录

1、负载均衡原理

[1.1 负载均衡流程](#1.1 负载均衡流程)

[1.2 负载均衡原理](#1.2 负载均衡原理)

2、负载均衡策略

[2.1 负责均衡规则](#2.1 负责均衡规则)

[2.2 负责均衡策略](#2.2 负责均衡策略)

3、饥饿加载


1、负载均衡原理

1.1 负载均衡流程

图 1.1-1 负载均衡流程
上图中展示的是负载均衡流程:首先是服务(order-service)发起请求,请求被Ribbon(负载均衡)接收并且去拉取eureka-server的注册信息,让其返回服务列表,在服务列表中选择合适的服务。

1.2 负载均衡原理

图 1.2-1 负载均衡原理
上图中展示的是负载均衡原理,图中介绍比较详细,这里就不做过多说明了。 其中比较重要的是选择服务列表中的服务对象方法有两个,定义在IRule接口里面:一是轮询调度,而是随机数。

2、负载均衡策略

2.1 负责均衡规则

图 2.1-1 负责均衡规则
从图中我们可以看到,日常使用的调度规则 "ZoneAvoidanceRule" 集成自轮询调度

2.2 负责均衡策略

图 2.2 负责均衡策略
上图中展示的是负责均衡策略,有两种方式:一种是在启动类中创建一个 返回IRule的对象,作用域是针对所有的微服务,另一种是修改配置文件。

3、饥饿加载

图 3-1 饥饿加载
上图中展示的是饥饿加载。

4、总结

相关推荐
阿狸猿14 小时前
论负载均衡技术在 Web 系统中的应用
运维·前端·负载均衡
JAVA社区16 小时前
Java高级全套教程(十四)—— SpringData超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
javahongxi1 天前
Spring Cloud Trace 链路实现
java·spring boot·spring cloud
小旭95271 天前
Spring Cloud 集成分布式日志 ELK+Swagger 接口文档实战
java·分布式·后端·elk·spring cloud
霸道流氓气质1 天前
Spring Cloud Nacos 服务注册 IP 选择机制与配置详解
tcp/ip·spring cloud·php
接着奏乐接着舞1 天前
springcloud xxl-job
后端·spring·spring cloud
jasnet_u1 天前
SpringCloud中Feign透传traceId及日志切面配置
java·spring cloud·feign·日志系统
JAVA面经实录9171 天前
SpringCloud 完整体系学习文档
java·spring cloud
小马爱打代码1 天前
SpringBoot + SpringCloud Gateway + Sentinel + Redis:API 网关层的接口限流、黑名单拦截与用户认证
spring boot·spring cloud·gateway
章老师说2 天前
B站网关事故背后:OpenResty 与 Lua 的稳定性代价
nginx·云原生·负载均衡·lua·openresty