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

LVS(Linux Virtual Server)集群技术详解

一.LVS 介绍

定义
LVS 是基于 Linux 内核的四层(传输层)负载均衡解决方案,由章文嵩博士开发,用于构建高性能、高可用的服务器集群。

核心组件

  • Director(调度器):接收客户端请求并分发到后端 Real Server。

  • Real Server(真实服务器):实际处理请求的后端服务器集群。

  • VS:Virtual Server: 虚拟服务器

  • VIP(虚拟 IP):对外提供服务的虚拟 IP 地址。

  • RIP(真实 IP):后端服务器的真实 IP 地址。

  • CIP:Client IP

官网The Linux Virtual Server Project - Linux Server Cluster for Load Balancinghttp://www.linuxvirtualserver.org/ lvs集群体系结构

 

LVS三种工作模式对比

模式原理优点缺点
NAT修改数据包的IP/端口支持端口映射,配置简单Director 易成瓶颈
DR(Direct Routing)仅修改 MAC 地址,不修改 IP性能极高(90% 吞吐量)要求 Real Server 与 Director 同局域网
TUN(IP 隧道)通过 IP 隧道封装数据包可跨机房部署配置复杂,隧道开销高

 关键区别

  • NAT/FullNAT:请求和响应均经过Director。

  • DR/TUN:仅请求经过Director,响应由RS直接返回客户端。

LVS调度算法

LVS支持多种调度算法,分为静态和动态两类:

1. 静态算法(不考虑RS负载)
  • RR(轮询):均分请求到各RS。  ——适用场景:Real Server 性能均等

  • WRR(加权轮询):根据RS性能分配权重。 ——适用场景:Real Server 配置不均

  • SH(源地址哈希):同一客户端固定访问同一RS(会话保持)。 ——适用场景:需要会话保持的应用

2. 动态算法(基于RS负载状态)
  • LC(最少连接):优先选择连接数最少的RS。 ——适用场景:长连接服务(如数据库)

  • WLC(加权最少连接):默认算法,结合权重和连接数。 ——适用场景:Real Server 性能均等,但需动态平衡 “连接数”,避免节点过载。

  • SED/NQ:优化高权重节点的初始连接分配。 ——适用场景:Real Server 性能均等,但需 “优先让高权重节点承接初始连接”(哪怕连接数稍多 ),或需 “初始流量倾斜”。

  

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

相关文章:

  • 【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】
  • langflow搭建带记忆功能的机器人
  • 深入了解linux系统—— 进程信号的产生
  • 核电概念盘中异动,中核科技涨停引领板块热度
  • 机器学习/深度学习训练day1
  • 穿透、误伤与回环——Redis 缓存防御体系的负向路径与治理艺术
  • VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复
  • mysql 与redis缓存一致性,延时双删 和先更新数据库,再删除缓存,哪个方案好
  • 深浅拷贝以及函数缓存
  • 机床自动化中的“方言翻译官”:EtherNet/IP 转 PROFIBUS DP 实战手记
  • Redis作缓存时存在的问题及其解决方案
  • TensorFlow深度学习实战(26)——生成对抗网络详解与实现
  • 聚宽sql数据库传递
  • sqlserver迁移日志文件和数据文件
  • pytorch小记(二十九):深入解析 PyTorch 中的 `torch.clip`(及其别名 `torch.clamp`)
  • linux 驱动的platform机制:
  • SQL ORM映射框架深度剖析:从原理到实战优化
  • SPL 轻量级多源混算实践
  • Redis集群方案——Redis分片集群
  • Linux 消息队列接收与处理线程实现
  • python的微竞网咖管理系统
  • P2802 回家
  • 国家互联网信息办公室关于发布第十二批深度合成服务算法备案信息的公告
  • 力扣算法--数青蛙与外观数列问题
  • 3.2 WPF 画散点图
  • 【Python3教程】Python3高级篇之MySQL - mysql-connector 驱动介绍及示例
  • 【WPF】WPF 自定义控件 实战详解,含命令实现
  • 深地之下的智慧触角:Deepoc具身智能如何为矿业机器人铸就“感知之核”
  • Mac (m1) Java 加载本地C共享库函数 .dylib 函数 Unable to load library ‘liblicense‘
  • 【爬虫】Python实现爬取京东商品信息(超详细)