嘘~ 正在从服务器偷取页面 . . . 可尝试再次刷新 . . .

谈谈你对LVS的理解


谈谈你对LVS的理解

1. LVS 负载均衡有哪些策略?

LVS一共有三种工作模式: DR,Tunnel,NAT

2. 谈谈你对LVS的理解?

LVS是一个虚拟的服务器集群系统,在unix系统下实现负载均衡的功能;采用IP负载均衡技术和机遇内容
请求分发技术来实现。
LVS采用三层结构,分别是:
第一层: 负载调度器
第二层: 服务池
第三层:共享存储

负载调度器(load balancer/ Director),是整个集群的总代理,它有两个网卡,一个网卡面对访问网
站的客户端,一个网卡面对整个集群的内部。负责将客户端的请求发送到一组服务器上执行,而客户也
认为服务是来自这台主的。举个生动的例子,集群是个公司,负载调度器就是在外接揽生意,将接揽到
的生意分发给后台的真正干活的真正的主机们。当然需要将活按照一定的算法分发下去,让大家都公平
的干活。

服务器池(server pool/ Realserver),是一组真正执行客户请求的服务器,可以当做WEB服务器。就
是上面例子中的小员工。

共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相
同的内容,提供相同的服务。一个公司得有一个后台账目吧,这才能协调。不然客户把钱付给了A,而
换B接待客户,因为没有相同的账目。B说客户没付钱,那这样就不是客户体验度的问题了。
lvs.png

3. 负载均衡的原理是什么?

当客户端发起请求时,请求直接发给Director Server(调度器),这时会根据设定的调度算法,将请求
按照算法的规定智能的分发到真正的后台服务器。以达到将压力均摊

但是我们知道,http的连接时无状态的,假设这样一个场景,我登录某宝买东西,当我看上某款商品
时,我将它加入购物车,但是我刷新了一下页面,这时由于负载均衡的原因,调度器又选了新的一台服
务器为我提供服务,我刚才的购物车内容全都不见了,这样就会有十分差的用户体验。

所以就还需要一个存储共享,这样就保证了用户请求的数据是一样的

4. LVS由哪两部分组成的?

LVS 由2部分程序组成,包括 ipvs 和 ipvsadm。

  1. ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。
  2. ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)

5. 与lvs相关的术语有哪些?

DS:Director Server。指的是前端负载均衡器节点。
RS:Real Server。后端真实的工作服务器。
VIP:Virtual IP 向外部直接面向用户请求,作为用户请求的目标的IP地址。
DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
RIP:Real Server IP,后端服务器的IP地址。
CIP:Client IP,访问客户端的IP地址。

6. LVS-NAT模式的原理

lvs原理.png

  1. 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
  2. PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
  3. IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP
  4. POSTROUTING链通过选路,将数据包发送给Real Server
  5. Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP
  6. Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP

7. LVS-NAT模型的特性

  1. RS应该使用私有地址,RS的网关必须指向DIP
  2. DIP和RIP必须在同一个网段内
  3. 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈
  4. 支持端口映射
  5. RS可以使用任意操作系统

缺陷:对Director Server压力会比较大,请求和响应都需经过director server

8. LVS-DR模式原理

LVS_DR.png

待整理….


文章作者: 無以菱
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 無以菱 !
评论
  目录