当前位置: 首页 > news >正文

LVS理论知识

目录

1.描述以及工作原理

1.什么是LVS

2.LVS调度算法

1.静态调度算法

1.轮询RR

2.加权轮询WRR

3.目标地址hash---DH

4.源地址hash---SH

2.动态调度算法

1.LC最少连接

2.wlc加权最少连接

3.sed最少期望延迟

4.nq不排队调度算法

5.lblc基于本地最少连接

6.lnlcr带复制的基于本地最少连接

3.LVS的工作原理

2.组成及术语

1.组成

1.ipvs

2.ipvsadm

2.术语

3.三种工作模式 

1.描述以及工作原理

1.什么是LVS

  通过Linux达到负载均衡技术和Linux操作系统实现一个高性能可用的Linux服务集群,具有良好的可靠性,可延展性和可操作性,从而以低廉的成本实现最优的性能,LVS是一个实现负载均衡集群开源软件项目,LVS从逻辑上可分为调度层、server集群层和共享存储。

2.LVS调度算法

1.静态调度算法
1.轮询RR

均等地对待每一台服务器。

2.加权轮询WRR

根据真实服务器的不同处理能力来调度访问请求。

3.目标地址hash---DH

针对目标IP地址的负载均衡。

4.源地址hash---SH
算法正好与目标地址散列调度算法相反,它根据请求的源 IP 地址,作 为散列键(Hash Key )从静态分配的散列表找出对应的服务器,若 该服务器是 可用的且未超载,将请求发送到该服务器,否则返回 空。
2.动态调度算法
1.LC最少连接
调度器通过 " 最少连接 " 调度算法动态地将网络请求调度到已建立的链 接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用" 最小连接 " 调度算法可以较好地均衡负载。
2.wlc加权最少连接
在集群系统中的服务器性能差异较大的情况下,调度器采用 " 加权最少链接" 调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情 况,并动态地调整其权值。
3.sed最少期望延迟
基于 wlc 算法,举例说明: ABC 三台机器分别权重 123 ,连接数也分别是123 name 如果使用 WLC 算法的话一个新请求进入时他可能会分给ABC 中任意一个,使用 SED 算法后会进行这样一个运算
A:(1+1)/2
B:(1+2)/2
C:(1+3)/3
根据运算结果,把连接交给 C
4.nq不排队调度算法
无需列队,如果有台 realserver 的连接数 =0 就直接分配过去,不需要进行sed 运算。
5.lblc基于本地最少连接
6.lnlcr带复制的基于本地最少连接

3.LVS的工作原理

1. 当用户向负载均衡调度器(director server)发起请求,调度器将请求发往内核空间。

2. prerouting链首先会接受到用户请求,判断目标ip确定是本机ip,将数据包发往input链。

3. IPVS是工作在input链上的,当用户请求到达input时,ipvs会将用户请求和自己定义好的集群服务器进行比对,如果用户请求就是定义的集群服务,那么此时ipvs会强行修改数据包里的目标ip地址以及端口,并将新的数据包发往POSTROUTING链。

4. POSTROUTING链接收到数据包后,发现目标ip地址刚好是自己的后端服务器,那么通过选路,将数据包最终发送给后端服务器。

2.组成及术语

1.组成

1.ipvs

ip virtual server,一段代码工作在内核空间,ipvs,是真正生效实现调度的代码(累死nginx中的proxy_pass)

2.ipvsadm

另一段是工作在用户空间,ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端真正的服务器(real server)类似nginx中的upstrean

2.术语

1. DS DIrector Server 前端负责均衡节点(负载均衡服务器)

2. RS real server 后端真实工作服务器(web服务器)

3. vip向外部直接面向用户请求,作为用户请求的目标ip地址(负载均衡的ip地址,提供给用户)

4. DIP Director Server Ip 和内部主机通讯的ip地址(负责与Real Server交互的内部Ip)

5. RIP Real Server Ip 后端服务器ip地址

6. CIP client IP 访问客户端ip地址

3.三种工作模式 

1. *LVS-NAT模式

2. *LVS-DR模式

3. Lvs-Tun模式(隧道模式)

http://www.lryc.cn/news/425444.html

相关文章:

  • uniapp接口请求this.$request
  • vulnhub靶机 W34KN3SS(渗透测试详解)
  • 2024年8月16日嵌入式学习
  • vue+ckEditor5 复制粘贴wold文字+图片并保存格式
  • redis列表若干记录
  • 固态硬盘用mbr还是GPT?固态硬盘分区类型用mbr还是GPT分析
  • http/sse/websocket 三大协议演化历史以及 sse协议下 node.js express 服务实现打字机案例 负载均衡下的广播实现机制
  • 智能时代新宠:2024年录音转文字软件
  • 【Python机器学习】树回归——使用Python的tkinter库创建GUI
  • 谷歌浏览器网页底图设置为全黑
  • Unity | AmplifyShaderEditor插件基础(第二集:模版说明)
  • 【Linux入门】Linux常见指令
  • startData
  • CV每日论文--2024.7.24
  • 大语言模型的简易可扩展增量预训练策略
  • python学习之异常
  • 多张图像实现全景无痕拼接操作
  • 在阿里云ecs上构建一个WordPress博客网站
  • 安卓应用开发学习:查看手机传感器信息
  • C语言字符串缺陷
  • 分布式场景中的常见的技术问题及解决,如分布式锁、分布式事务、分布式 session、分布式任务调度
  • Android笔试面试题AI答之Kotlin(9)
  • C# 不一样的洗牌算法---Simd指令
  • LVGL系列3--纯物理(外部)按键,数字键盘控制控件
  • FPGA开发——UART回环实现之接收模块的设计
  • Debezium系列之:记录一次SQLServer数据库数据不采集,恢复采集造成下游承压的情况,以及相对应的详细解决方案
  • Linux线程基础学习记录
  • 【Python学习-UI界面】PyQt5 小部件12-QStackedWidget 多页显示
  • Mybatis中好用的元对象反射工具类 - MetaObject
  • javaEE WebServlet、SpringWebMVC、SpringBoot实现跨域访问的4种方式及优先级,nginx配置跨域