负载均衡与高可用(LVS+keepalived+nginx)

目录
  1. LVS(Linux Virtual Server)
    1. ✔Network address translation(NAT) 网络地址转换
    2. ✔IP Tunneling(TUN) IP隧道
    3. ✔Direct routing(DR)直接路由
    4. ✔三种模式的对比
  2. Keepalived

LVS(Linux Virtual Server)

Network address translation(NAT) 网络地址转换

NAT模式:通过LVS的时候将请求报文的virtual IP Address地址改写成选择服务器的地址,然后传给实际服务器;目标服务器处理之后将响应的报文传给LVS;LVS修改为报文的相应地址为virtual IP address。

IP Tunneling(TUN) IP隧道

TUN模式:选择一台服务器,将报文封装在另一个IP里面,转发给选择的服务器;服务器解封发现VIP是配置在本地IP隧道,处理这个请求,然后直接返回给用户。 具体过程如下图:

Direct routing(DR)直接路由

目前项目用的正是DR模式!!! DR模式:和IP隧道类似,选择一台服务器,将请求报文的mac地址更改为选择的服务器的mac地址,直接转发,服务器发现VIP的本地局域网的虚拟IP;处理完报文之后,将结果直接返回给用户。 过程如下图:

三种模式的对比

在服务器量的支持中,可以看出NAT模式支持的机器明显低于其他两种模式(NAT模式性能消耗较大:因为请求和响应都要经过LVS)。

Keepalived