架构设计之:LVS 三种模式

LVS三种模式

● NAT:网络地址转换模式
● DR:直接路由模式
● TUN:隧道模式

LVS/NAT

流程

  1. 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
  2. LVS收到网络报文后,直接转发给后端服务集群。
  3. 后端服务集群处理业务逻辑的请求,再把对应的网络报文发送给LVS。
  4. LVS把报文发给客户端App。

优点
是最简单的部署,因为无需在网络地址上做映射和开发,仅仅是一个转发器。

不足
LVS会成为整个应用集群的性能瓶颈。源请求和对应的响应都会发给LVS,包发送后还要维护映射信息和socket连接,当网络异常时,单台的LVS设备可能无法承载压力。

LVS/NAT

参考

DR

流程

  1. 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
  2. LVS收到网络报文后,
    2.1 不改变源IP,只改变目标IP为后端服务集群IP。
    2.2 把源mac地址改为LVS的mac地址,把目标mac地址改为后端服务集群的mac地址。
  3. 后端服务集群处理完响应请求,准备回报发送报文时,发现源IP是客户端App,因此直接把报文返回给客户端。

优点
对于请求,LVS设备只管请求的转发,当客户端App网络包收上来后,就可以断开与客户端App的连接。
对于响应,后端服务集群处理完请求直接与客户端App发生响应处理。
对于连接,可以省掉维护两端socket连接的时间。

不足
LVS设备要和后端服务集群处于同一个机房中才能使用mac地址转化协议,以使源IP地址和源mac地址可以不在同一个层级上。

LVS/DR

参考

TUN

流程

  1. 客户端App先通过DNS寻址取得暴露在公网的LVS的IP,再发送web http请求。
  2. LVS做两次头的封装,即保持原来的IP包不变,在外层再封装一层包,源IP为LVS的IP,目标IP为后端服务集群的IP。
  3. 后端服务集群将IP包解开,解析出内层的IP包。
  4. 后端服务集群处理完报文请求,根据内层IP把报文直接传给客户端App。

优点
LVS和后端服务集群不需要在同一个机房内。

不足
后端服务集群必须支持隧道模式。

LVS/TUN

参考

总结

使用最多的是LVS/DR模式,因为在局域网中才能保证系统的吞吐量,没有必要为了跨机房而使用隧道模式,除非原先就是跨机房部署。

你可能感兴趣的:(架构设计之:LVS 三种模式)