编程技术分享平台

网站首页 > 技术教程 正文

访问层架构设计——LVS(访问层可以帮助用户做什么)

xnh888 2024-10-17 17:42:10 技术教程 15 ℃ 0 评论

LVS集群采用IP负载均衡技术(效率高)和基于内容请求分发技术,将请求均衡地转移到不同的服务器上执行,且调度器可以自动屏蔽服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器,整个服务器集群的结构对客户端是透明的,而且无需修改客户端和服务器端的程序。

客户端发出请求,首先进行DNS寻址,拿到公网的IP地址,然后向这个IP地址发送HTTP请求。机房会有一个设备把IP地址暴露在公网上,这个设备就是LVS接入系统,它处于IDC机房与外界的入口级别的系统,是所有流量的入口。这个设备会根据内容分发网络的负载均衡策略,在IP层做网络请求的转发。之后网络请求的结果,会不经过LVS,直接返回给客户端。所以LVS只处理输入请求以及输入请求的转发,但是对于相应请求是直接通过Nginx直接返回给客户端,避免LVS流量瓶颈问题。

LVS/NAT结构:客户端APP发送请求,通过DNS拿到的是LVS的IP,这时网络包的源IP是客户端的IP,目标IP是LVS的IP。LVS收到网络报文后,会将报文转发给后端服务器集群,转发过程中会修改报文IP地址,源IP改成LVS的IP,目标IP改为后端服务器的IP。服务器处理完之后,会将报文中的源IP与目标IP互换,并将网络报文发送给LVS,即源IP是后端服务器的IP,目标IP是LVS的IP。LVS收到返回报文后,也是将请求的源IP与目标IP互换,即源IP是LVS的IP,目标ID是客户端的IP,并将返回报文发送给客户端。这种方式的缺点是,LVS将成为性能瓶颈。好处是部署简单。

LVS/DR结构:客户端发送请求给LVS,这一步骤与NAT一致。但是LVS收到请求后,不会修改源IP,目标IP更新为后端服务器的IP,并将源MAC地址改为LVS的地址,目标MAC地址改为后端服务器的地址,并将报文发送给后端服务器。服务器处理完成之后,由于收到的报文的源IP是客户端的IP,所以会将返回报文直接发送给客户端,报文中源IP是后端服务器的IP,目标IP是客户端的IP。这种方式的缺点是LVS设备与后端服务器必须处在同一个机房中。好处是LVS不用保存IP之间的映射,不用等待服务器的响应。

LVS/TUN结构:客户端请求部分依然一致。LVS转发请求时,源IP与目标IP都不变,而是在外层又包装一层,源IP为LVS的IP,目标IP为后端服务器的IP。后端服务器收到请求后,会解析报文,拿到源IP是客户端的IP,目标IP是LVS的IP,在处理完成之后,将报文返回报文直接发送给客户端。这种结构的缺点后端服务器必须支持隧道模式,即对IP协议进行二次解析。好处是LVS不用保存IP映射,不用等待服务器的响应。

企业级应用最多的是DR模式。


LVS调度策略:

1、无脑轮询,带权重的无脑轮询;

2、最少链接,带权重的最少链接;

3、IP_HASH, IP_HASH_GROUP

LVS强大优势:

1、IP层的负载均衡,无应用层回调消耗;

2、通过LVS/DR或LVS/TUN模型的特性使得请求返回不通过LVS;

3、自动故障转移,心跳检测;

4、配合主从KeepAlive加VIP实现自身高可用。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表