负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

四层负载均衡 vs 七层负载均衡

四层负载均衡(目标地址和端口交换)

主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
以常见的 TCP 为例,负载均衡设备在接收到第一个来自客户端的 SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标 IP 地址进行修改(改为后端服务器 IP),直接转发给该服务器。TCP 的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。

实现四层负载均衡的软件有:

  • F5:硬件负载均衡器,功能很好,但是成本很高。
  • LVS:重量级的四层负载软件。
  • Nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活。
  • Haproxy:模拟四层转发,较灵活。
七层负载均衡(内容交换)

所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

七层应用负载的好处,是使得整个网络更智能化。例如访问一个网站的用户流量,可以通过七层的方式,将对图片类的请求转发到特定的图片服务器并可以使用缓存技术;将对文字类的请求可以转发到特定的文字服务器并可以使用压缩技术。

实现七层负载均衡的软件有:

  • Haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;
  • Nginx:只在 http 协议和 mail 协议上功能比较好,性能与 haproxy 差不多;
  • Apache:功能较差
  • Mysql proxy:功能尚可。
作者:Jeebiz  创建时间:2020-05-29 14:15
 更新时间:2023-12-22 21:08