LVS+Keepalived+Nginx宏观整体结构与关键问答

视频链接:4-2 为什么要使用 LVS + Nginx?_哔哩哔哩_bilibili

————————————————————————————————————————————————————————

1. 问题:

为什么要使用LVS + Nginx?(直接LVS + 应用不行吗?直接Nginx+ 应用不行吗?)

答:

① Lvs基于四层(IP+端口号),直接转发,几乎没有性能损耗。 Nginx基于七层,需要进一步处理。有性能损耗。

② Lvs并发负载是Nginx的几十倍。如下图所示, 因为LVS只接收请求,但是不需要响应(响应由应用直接返回给用户)。 而Nginx需要同时接收请求和响应请求(接收与响应都需要经过Nginx)。

LVS+Keepalived+Nginx宏观整体结构与关键问答_第1张图片

LVS+Keepalived+Nginx宏观整体结构与关键问答_第2张图片

2. 问题:

LVS三种模式?

答:

NAT:网桥,桥接模式,地址转换。vip暴露在公网。 TUN:IP隧道模式。响应返回直接给用户,不经过vip(缺点:即每个真实服务器节点的IP会暴露给客户) DR:直接路由模式(Direct Router)。响应经过router,通过vip返回给客户(优点:隐藏真实服务器节点ip)

LVS+Keepalived+Nginx宏观整体结构与关键问答_第3张图片

LVS+Keepalived+Nginx宏观整体结构与关键问答_第4张图片

LVS+Keepalived+Nginx宏观整体结构与关键问答_第5张图片

3. 问题:

LVS(采用DR模式)+nginx 架构是什么?

答:

架构如图所示,

DIP与RIP都是"真实IP",只不过叫法不同。

(配置LVS的主机就叫Director)

  • VIP——Virtual IP,vip为调度器Director用于向客户端计算提供服务的IP地址

  • DIP——Director IP,调度器Director的IP地址,Director用于连接外网网络的IP地址,物理网卡上的ip地址

  • RIP——Real Server IP,在集群下面节点上使用的IP地址,物理网卡上的ip地址

LVS+Keepalived+Nginx宏观整体结构与关键问答_第6张图片

4.问题

为什么我们要把调度器Director(LVS)的VIP配置到物理接口上,而把Real Server的VIP配置到本地接口lo上?

答:

参考博客:大白话理解LVS DR模型中的arp_ignore_Ricky的技术小站的博客-CSDN博客_arp_ignore

我们知道,调度器和所有的Real Server都配置了VIP地址,LVS的VIP配置在物理网卡接口上,而Real Server都是配置在了本地接口lo上

为了保证客户端的ARP广播请求可以"只被"调度器Director所响应,因此必须限制所有Real Server的arp响应级别。

所以才设置arp_ignore为1,这样对于Real Server来说,因为arp请求一定来自别的主机,所以接收的网卡只能是物理接口, 而Real Server又将VIP配置到了lo接口上,因此刚好不会回应,从而保证了请求只会到达调度器。

5. 配置具体步骤:

① 配置一台LVS节点(①虚拟IP(eth0:1)②安装ipvsadm) --> 配置两台RS(①虚拟IP(lo:1) ②arp禁用(限制RS网卡对请求的接收与响应的相关处理) ③静态路由router) ② 使用ipvsadm配置集群 -->验证DR模式的rr轮询,LVS集群持久化机制调整(调整参数验证集群rr轮询是否生效) ③ keepalived+LVS+Nginx(两台LVS主备,master与backup)

6. keepalived+LVS+Nginx(两台LVS)

两台LVS,主备 keepalived 可以保证对LVS与Nginx的实时“健康检查”,宕机的RS则直接踢出集群,恢复以后会再自动加入集群。

LVS+Keepalived+Nginx宏观整体结构与关键问答_第7张图片

7. 注意:

阿里云不支持虚拟IP(VIP),需要购买阿里云的负载均衡服务。

腾讯云支持虚拟IP(VIP),每台最大支持10个,但是需要付费。

你可能感兴趣的:(网络,HA,LVS,Keepalived,Nginx)