我的编程空间,编程开发者的网络收藏夹
学习永远不晚

lvs负载均衡有几种模式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

lvs负载均衡有几种模式

lvs负载均衡有3种模式,分别是:1、Virtual Server via NAT,在服务器中可以运行任何支持TCP/IP的操作系统;2、Virtual Server via IP Tunneling,在VS/TUN技术中所有的服务器必须支持“IP Tunneling”或者“IP Encapsulation”协议;3、Virtual Server via Direct Routing,它只处理客户到服务端的连接,并且能够将响应数据直接从独立的网络路由返回给客户,有效提高了lvs集群系统的伸缩性。

lvs负载均衡有几种模式

具体内容如下:

LVS负载均衡方式:

Virtual Server via Network Address Translation NAT(VS/NAT)

VS/NAT是一种最简单的方式,所有的RealServer只需要将自己的网关指向Director即可。客户端可以是任意操作系统,但此方式下,一个Director能够带动的RealServer比较有限。在VS/NAT的方式下,Director也可以兼为一台RealServer。VS/NAT的体系结构如图所示。

lvs负载均衡有几种模式 

VS/NAT的体系结构

Virtual Server via IP Tunneling(VS/TUN)

IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址。

它的连接调度和管理与VS/NAT中的一样,只是它的报文转发方法不同。调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为 VIP 的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。

lvs负载均衡有几种模式

VS/TUN的体系结构

VS/TUN的工作流程:

lvs负载均衡有几种模式

Virtual Server via Direct Routing(VS/DR)

VS/DR方式是通过改写请求报文中的MAC地址部分来实现的。Director和RealServer必需在物理上有一个网卡通过不间断的局域网相连。 RealServer上绑定的VIP配置在各自Non-ARP的网络设备上(如lo或tunl),Director的VIP地址对外可见,而RealServer的VIP对外是不可见的。RealServer的地址即可以是内部地址,也可以是真实地址。

lvs负载均衡有几种模式

VS/DR的体系结构

VS/DR的工作流程:

VS/DR的工作流程如图所示:它的连接调度和管理与VS/NAT和VS/TUN中的一样,它的报文转发方法又有不同,将报文直接路由给目标服务器。在VS/DR中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。

lvs负载均衡有几种模式

三种负载均衡方式比较:

Virtual Server via NAT

VS/NAT 的优点是服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址。缺点是它的伸缩能力有限,当服务器结点数目升到20时,调度器本身有可能成为系统的新瓶颈,因为在VS/NAT中请求和响应报文都需要通过负载调度器。我们在Pentium166 处理器的主机上测得重写报文的平均延时为60us,性能更高的处理器上延时会短一些。假设TCP报文的平均长度为536 Bytes,则调度器的最大吞吐量为8.93 MBytes/s. 我们再假设每台服务器的吞吐量为800KBytes/s,这样一个调度器可以带动10台服务器。(注:这是很早以前测得的数据)

基于 VS/NAT的的集群系统可以适合许多服务器的性能要求。如果负载调度器成为系统新的瓶颈,可以有三种方法解决这个问题:混合方法、VS/TUN和 VS/DR。在DNS混合集群系统中,有若干个VS/NAT负调度器,每个负载调度器带自己的服务器集群,同时这些负载调度器又通过RR-DNS组成简单的域名。

但VS/TUN和VS/DR是提高系统吞吐量的更好方法。

对于那些将IP地址或者端口号在报文数据中传送的网络服务,需要编写相应的应用模块来转换报文数据中的IP地址或者端口号。这会带来实现的工作量,同时应用模块检查报文的开销会降低系统的吞吐率。

Virtual Server via IP Tunneling

在VS/TUN 的集群系统中,负载调度器只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请求,它甚至可以调度百台以上的服务器(同等规模的服务器),而它不会成为系统的瓶颈。即使负载调度器只有100Mbps的全双工网卡,整个系统的最大吞吐量可超过 1Gbps。所以,VS/TUN可以极大地增加负载调度器调度的服务器数量。VS/TUN调度器可以调度上百台服务器,而它本身不会成为系统的瓶颈,可以用来构建高性能的超级服务器。VS/TUN技术对服务器有要求,即所有的服务器必须支持“IP Tunneling”或者“IP Encapsulation”协议。目前,VS/TUN的后端服务器主要运行Linux操作系统,我们没对其他操作系统进行测试。因为“IP Tunneling”正成为各个操作系统的标准协议,所以VS/TUN应该会适用运行其他操作系统的后端服务器。

Virtual Server via Direct Routing

跟VS/TUN方法一样,VS/DR调度器只处理客户到服务器端的连接,响应数据可以直接从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的伸缩性。跟VS/TUN相比,这种方法没有IP隧道的开销,但是要求负载调度器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备(或者设备别名)不作ARP响应,或者能将报文重定向(Redirect)到本地的Socket端口上。

三种LVS负载均衡技术的优缺点归纳以下表:

lvs负载均衡有几种模式

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

lvs负载均衡有几种模式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

LVS(Linux Virtual Server)是一个高性能、可扩展的负载均衡器,用于分发网络流量到多个服务器上,提高系统的可用性、可靠性和性能。LVS有三种工作模式:NAT模式、DR模式和TUN模式。1. NAT模式:在这种模式下,LV
2023-09-20

nginx实现负载均衡的方式有哪几种

nginx实现负载均衡的方式有以下几种:轮询(Round Robin):将请求依次分发给后端服务器,每个请求按照顺序分配给不同的服务器,直到所有服务器都被分配了一次,然后重新开始分配。加权轮询(Weighted Round Robin):设
nginx实现负载均衡的方式有哪几种
2024-04-22

负载均衡集群分类有哪几种

负载均衡集群可以根据负载均衡的算法和实现方式进行分类,主要有以下几种:1. 基于硬件的负载均衡集群:使用专用的硬件设备来实现负载均衡功能,如硬件负载均衡器(Load Balancer)或交换机。2. 基于软件的负载均衡集群:使用软件来实现负
2023-09-01

负载均衡有哪些三种方式

本篇内容介绍了“负载均衡有哪些三种方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!负载均衡的三种方式:1、路
2023-02-03

面试官:Nacos有几种负载均衡策略?

注册中心和负载均衡器严格意义上来说是两个东西,但 Nacos 注册中心中,内置了两种负载均衡策略:基于权重和基于 CMDB(低于就近访问)的负载均衡策略。

什么是负载均衡?有哪几种策略?

什么是负载均衡?有哪几种策略?负载均衡是指平均分到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。建立在现有网络结构上,提供了一种实惠有效的方法去扩展网络设备
2023-06-04

Linux虚拟服务器LVS的三种负载均衡方式对比

本篇内容介绍了“Linux虚拟服务器LVS的三种负载均衡方式对比”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、LVS的定义?  LV
2023-06-13

负载均衡有哪些常见的部署模式

负载均衡有以下常见的部署模式:集中式负载均衡:在一个独立的设备上进行负载均衡,将请求分发到多个后端服务器上。分布式负载均衡:将负载均衡功能分布到多个设备上,通过协调这些设备来实现请求的分发和负载均衡。客户端负载均衡:在客户端进行负载均衡,客
负载均衡有哪些常见的部署模式
2024-04-17

负载均衡的六种方式是什么

负载均衡有以下六种方式:1. 随机负载均衡:将请求随机分配给可用的服务器,没有特定的规则。2. 轮询负载均衡:按顺序将请求分配给每个服务器,确保每个服务器都能平均接收到请求。3. 最少连接负载均衡:将请求分配给当前连接数最少的服务器,确保服
2023-09-01

java负载均衡的方式有哪些

Java负载均衡的方式有以下几种:1. 软件负载均衡:使用Java编写的负载均衡软件,如Nginx、Apache、HAProxy等。2. 硬件负载均衡:使用硬件设备进行负载均衡,如F5、Cisco、Citrix等。3. DNS负载均衡:通过
2023-06-10

dubbo负载均衡的方式有哪些

Dubbo负载均衡的方式有以下几种:1. 随机负载均衡(Random Load Balance):随机选择一个可用的服务提供者进行调用。2. 轮询负载均衡(Round Robin Load Balance):按照固定的顺序依次选择可用的服务
2023-10-08

nginx负载均衡的方式有哪些

Nginx负载均衡的方式有以下几种:1. 轮询(Round Robin):每一次请求按照服务器的顺序依次分配到不同的后端服务器。2. IP 哈希(IP Hash):根据客户端的IP地址进行哈希计算,将同一IP的请求分配到同一台后端服务器上。
2023-08-24

负载均衡的实现方式有哪些

负载均衡的实现方式有以下几种:1. 基于硬件的负载均衡:使用专门的硬件设备,如负载均衡器(Load Balancer)或者交换机(Switch)来实现负载均衡。这些硬件设备具有专门的算法和功能,可以根据不同的负载情况将请求分发到不同的服务器
2023-09-07

负载均衡常见的方式有哪些

负载均衡常见的方式有以下几种:1. 基于网络层的负载均衡:通过路由器或交换机等网络设备,根据目标IP地址或端口号来分发请求。常见的网络层负载均衡协议有IPVS、LVS、NAT等。2. 基于应用层的负载均衡:通过将请求从客户端转发到多个服务器
2023-09-01

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录