负载均衡建立在现在网络基础之上,提供一种廉价透明有效的方式扩展网络设备和服务器带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡可分为七层负载与四层负载。
四层负载(目标地址与端口交换)
主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终的内部服务器。
以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最的服务器,并对报文中IP地址进行修改(修改为后端服务器IP),直接转发给譔服务器。TCP的连接建立,即3次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由的转发作用。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能会对报文原来的源地址进行修改。实现四层负载均衡的软件有:
F5:硬件负载均衡器,功能很好,但是成本很高。
LVS:重量级的四层负载软件
nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活。
haproxy:模拟四层转发,比较灵活。