SLB分类
二层负载均衡(mac):根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应.
三层负载均衡(ip):一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应. (即一个ip对一个ip的转发, 端口全放开)
四层SLB:配置负载均衡设备上服务类型为tcp/udp,负载均衡设备将只解析到4层,负载均衡设备与client三次握手之后就会和RS建立连接;也就是说客户端握手成功后是直接与RS连接的,所以性能较高,但缺点就是由于负载均衡设备无法获取到请求内容,所以负载算法不多,例如无法根据请求的内容是图片还是文字转发到不同的服务器。四层SLB比较有代表性的产品有LVS、F5。
七层SLB:配置负载均衡设备服务类型为http/ftp/https等,负载均衡设备将解析报文到7层,在负载均衡设备与client三次握手之后,只有收到对应七层报文,才会跟RS建立连接。客户端发送报文,报文内容需要先经过SLB解析之后才会负载到RS,这样就导致性能较低,但优点是负载算法丰富。可以根据请求内容,请求URL等来进行负载。七层SLB比较有代表性的产品有Nginx、Apache、Haproxy
总结
由于反向代理模式中在RS侧只能收到源为负载均衡设备IP的报文,因此可以使用防火墙增加安全性,只允许源IP为负载均衡设备的IP地址的报文通过,同时增加X-Forwarded-For字段也可以让RS只允许有此字段的报文进行访问,因此安全性相对较高。