LVS详细介绍,这么讲不信你不明白负载均衡

Linux virtual server,是一个基于集群技术和Linux操作系统,目的是实现一个高性能、高可用的服务器,主要工作在网络层。

他采取IP负载均衡,也叫三层负载均衡(因为工作在OSI模型的第三层--网络层),简单来讲就是通过修改请求的目标的IP地址来进行分配任务,将收录进来的信息分配到真正的server上去进行技术实现。当然这不是唯一的打开方式~

所以下面我们来一起看一下LVS实现负载均衡的几种方式:
LVS实现负载均衡的技术一般来讲有这三种,即VS/NAT、VS/TUN和VS/DR。

一. NAT

NAT就是Network Address Translation的缩写,就是最基础的通过进行网络地址转换,将一些server转化成一个可以有高性能的服务器。

具体的细节流程是这样走的:
用户使用一个虚拟的IP地址使用网络服务的时候,这是load balancer会收到报文,同时负责在下线中选择一台合适的下端来处理这个报文,这一步是通过选择的算法实现的。
然后,真正的转化在这里:这个负载均衡器就会把报文的目标地址的虚拟服务IP地址改成选中的这个服务器的IP地址。

注意一下, 这时候选定的服务器的端口数目,还有报文的端口数目也要相对应上。

修改好了报文,这时候负载均衡器就会把报文发送给这个百里挑一的服务器进行任务的加工处理。

二. TUN

TUN 是 Tunneling的缩写,其实就是通过隧道的方式来进行虚拟服务器的构建。

简单来说,这里的负载均衡器的作用就是通过IP隧道的封装方式连接每一个下端的服务器,进行任务分配。而且这种分装不是一对一,而是一组对一个,高吞吐量和高效快捷,所以适合用于移动主机和私有虚拟网络。

而IP隧道封装就是把一个报文和他的IP地址封装转发到另一个报文去。

听起来有点抽象,我们不妨这样想:NAT在通过负载均衡器发给服务器的时候,需要加一个新的IP头, 但是这里就不需要。这里的负载均衡器只需要将包裹好的封装打开,然后发给服务器就好了。

而且在这里,数据反馈给user的时候不需要传输回去给负载均衡器,而是通过外网的IP直接发给客户了。
对比一下NAT, 这时候的负载均衡器和服务器都有唯一且不同的IP地址。

三. DR

终于到了最后,是我们的DR, Direct Routing,即直接路径的方式进行虚拟服务器的实现。

这个方法和前两种略显不同,是由于他需要物理性质的构造连负载均衡器和每一个下端的服务器。这个物理属性的构造可以是交换机,或者HUB。

正如他的名字一般,这时候的负载均衡器所做的工作还是首先选一个服务器,然后直接将报文发给服务器,不改虚拟IP地址也不封装!

除此之外还需要将数据帧的MAC地址改为服务器的MAC地址。

有人会问,什么是数据帧:数据帧就是在每一个虚拟IP的包里面。服务器处理的时候看到每一个数据帧的MAC地址来确保一定会处理和收到这个数据帧,然后在检查他们的虚拟IP,最终返回一个X虚拟IP包。

而报文因为VIP地址前后一致,所以不需要再进行任何其他的处理和修改,就可以直接不经过负载均衡器返还给客户。

三种方式,各有千秋,详情可以见下面的图标汇总:

_VS/NATVS/TUNVS/DR
ServeranyTunnelingNon-arp device
server networkprivateLAN/WANLAN
server numberlow (10~20)High (100)High (100)
server gatewayload balancerown routerOwn router
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小范

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值