高可用与负载均衡(2)之四层负载均衡的概念

preface

网络协议的四层负载均衡其实指的就是传输层。我们分析下4层负载均衡的数据格式。

四层负载均衡

所谓的四层负载均衡,就是说由负载均衡设备或软件通过TCP/UDP的header信息进行直接判断由哪个实际的后端服务器来实际处理该连接的,从而转发。在我们生产环境下用的最多的就是对目标端口进行调度,如有名的LVS软件。

四层负载均衡时序图

四层负载均衡的一般网络时序图如下所示

简要说明下:

  1. LB在收到客户端TCP SYN包之后,既可以进行负载调度。
  2. 向通过某种算法选择的后端服务器发送SYN包
  3. 后端服务器收到SYN包以后,回复SYN+ACK
  4. 负载均衡服务器回复SYN+ACK给客户端
  5. 客户端回复ACK
  6. 负载均衡器发送ACK给后端服务器。此时客户端,负载均衡器,后端服务器都处于established状态。
  7. 客户端开始请求数据,经过LB到后端服务器上
  8. 服务器返回数据给LB,LB再给client。

四层负载均衡特点

  1. 模型简单。
    所谓模型简单就是LB不需要关系业务逻辑,只进行负载调度,网络转发以及后端服务器监控检测。
  2. 吞吐量大
    依据模型简单这个特点,CPU处理逻辑简单,相对于更高层次的负载均衡,如七层负载,可以提供更大的吞吐量
  3. 应用范围广
    工作在第四层,可以对任何应用做负载均衡,如DNS,HTTP,MYSQL等。

根据上面三个特点,应用场景主要如下:

  • 吞吐量较高的情况
  • 后端服务器的业务逻辑为他人私有逻辑,你无法触碰。
posted @ 2016-11-13 13:19  温柔易淡  阅读(944)  评论(0编辑  收藏  举报