LVS搭建集群实现负载均衡

网友投稿 286 2022-11-05


LVS搭建集群实现负载均衡

1.1 集群概述

1.1.1  什么是集群?

一组各自相互独立且又相互依赖的,通过高速网络互联的计算机组成的一个计算机组, 以单一的系统模式加以管理, 为用户提供服务, 对用户来说,用户只会认为对方是一个服务. 这个里面, 一组计算机的一台计算机就是集群的一个节点

1.1.2  集群的特性:

可伸缩性, 可靠性, 可管理性

1.1.3  应用场景:

例:一台服务器 如果能够响应10000个并发 返回的状态码全部是200 如果现在有20000个并发 返回的状态码[ 200 304 301 500 404 ]由以上例子说明,web服务已经达到瓶颈解决这个问题的办法:加配置: 加CPU, 加内存, 加带宽, 加SSD 这种解决方法称为“向上扩展”, 能够解决一时, 却不能持久一世[单台服务器上做动作]加服务器: 一台==>两台, 两台==>四台 四台==>8台 使用多台服务器同时为用户提供服务 ,而这一种解决方法则称为“横向扩展”或“向外扩展”向外扩展: 就是集群

1.1.4  集群的种类:

**集群系统主要分为**负载均衡(Load Balance)集群,简称LB高可用(High Availability)集群,简称 HA 集群高性能计算(High Perfermance Computing)集群,简称 HPC 集群

1.1.5 LB实现手段

硬件的实现: – F5 负载均衡器软件的实现: – LVS(4层,传输层) – Nginx(7层,应用层)

1.2 LVS集群

1.2.1 LVS(Linux Virtual Server)

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的,所以使用时候会和iptables相当类似官网:[[ LVS 集群工作结构图:

负载调度器,:分发器(Load Balancer, Director): 整个集群对外的最前端机, 负责接收用户请求, 并且根据自己的调度算法, 将请求转发到后端真实服务器上的动作,而客户认为服务是来自一个IP地址(我们可称之为VIP虚拟IP地址)上的。服务器池: Server Pool 真正为用户提供服务的服务器, 每一台服务器就是一台RS[RealServer],执行的服务有WEB、MAIL、FTP和DNS等。共享存储: Shared Storaged 为RS保持相同内容, 提供数据的一致性,也就是说,它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

1.3 LVS模式及工作原理

1.3.1 LVS(4层) 模式:

/VS/NATLVS-VS/DR\VS/TUN

1.3.2 LVS负载均衡的三种包转发方式

LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构

1.3.3 NAT(网络地址映射)

NAT: 网络地址转换DNAT: 目标地址转换 改变的是目标地址SNAT: 原地址转换 改变的是原地址LVS-NAT 就是使用的SNAT和DNAT完成报的转发NAT方式可支持任何的操作系统,以及私有网络,并且只需一个Internet IP地址,但是整个系统的性能受到限制。因为执行NAT每次需要重写包,有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。

1.3.4 IP Tunneling(IP隧道)

director(分发器)分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

1.3.5 Direct Routing(直接路由)

与IP Tunneling类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing与IP Tunneling相比,没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

1.3.6 LVS-NAT 模式工作原理:

客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

如图:

步骤1:客户端访问VIP1的网站

图上各IP注解:CIP 客户端的IP VIP 是域名解析的IP, 是集群对外的公网IP DIP 用来和后端服务器进行数据交互的IP, 请求报文转发给后端服务器从此口出去 RIP 真实服务器的IP步骤2:客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;

步骤3:真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

步骤总结及过程地址变化:1: 客户端请求访问example.com[example.com ===> VIP] 源地址: CIP 目标地址: VIP 2: 请求报文到达负载均衡器 源地址: CIP 目标地址: RIP3: RealServer收到报文处理, 响应 源地址: RIP 目标地址: CIP4: 负载调度器收到报文, 根据自身之前的转发修改记录, 还原报文 源地址: VIP 目标地址: CIP


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:maven profile实现多环境配置的示例
下一篇:全国公安网查询系统查重名API(全国公安网查询系统查重名微信)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~