LVS三种模式
● NAT:网络地址转换模式
● DR:直接路由模式
● TUN:隧道模式
LVS/NAT
流程
- 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
- LVS收到网络报文后,直接转发给后端服务集群。
- 后端服务集群处理业务逻辑的请求,再把对应的网络报文发送给LVS。
- LVS把报文发给客户端App。
优点
是最简单的部署,因为无需在网络地址上做映射和开发,仅仅是一个转发器。
不足
LVS会成为整个应用集群的性能瓶颈。源请求和对应的响应都会发给LVS,包发送后还要维护映射信息和socket连接,当网络异常时,单台的LVS设备可能无法承载压力。
参考
DR
流程
- 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
- LVS收到网络报文后,
2.1 不改变源IP,只改变目标IP为后端服务集群IP。
2.2 把源mac地址改为LVS的mac地址,把目标mac地址改为后端服务集群的mac地址。 - 后端服务集群处理完响应请求,准备回报发送报文时,发现源IP是客户端App,因此直接把报文返回给客户端。
优点
对于请求,LVS设备只管请求的转发,当客户端App网络包收上来后,就可以断开与客户端App的连接。
对于响应,后端服务集群处理完请求直接与客户端App发生响应处理。
对于连接,可以省掉维护两端socket连接的时间。
不足
LVS设备要和后端服务集群处于同一个机房中才能使用mac地址转化协议,以使源IP地址和源mac地址可以不在同一个层级上。
参考
TUN
流程
- 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
- LVS做两次头的封装,即保持原来的IP包不变,在外层再封装一层包,源IP为LVS的IP,目标IP为后端服务集群的IP。
- 后端服务集群将IP包解开,解析出内层的IP包。
- 后端服务集群处理完报文请求,根据内层IP把报文直接传给客户端App。
优点
LVS和后端服务集群不需要在同一个机房内。
不足
后端服务集群必须支持隧道模式。
参考
总结
使用最多的是LVS/DR模式,因为在局域网中才能保证系统的吞吐量,没有必要为了跨机房而使用隧道模式,除非原先就是跨机房部署。
网友评论