负载均衡技术类型:
- 基于 4 层负载均衡技术
- 基于 7 层负载均衡技术
负载均衡实现方式:
- 硬件负载均衡设备
- 软件负载均衡
硬件负载均衡产品:
- F5
- 深信服
- Array
软件负载均衡产品:
- LVS
- Haproxy
- Nginx
负载均衡的分类
根据负载均衡所作用在OSI模型的位置不同,可分为以下几类:
- 二层负载均衡(MAC)
根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应 - 三层负载均衡(IP)
一般采用虚拟IP地址方式,外部对虚拟的IP地址请求,负载均衡接收后分配后端实际的IP地址响应 - 四层负载均衡(TCP)
在三层负载均衡的基础上,用IP+Port接收请求,再转发到对应的机器 - 七层负载均衡(HTTP)
根据虚拟的url或ip,主机名接受请求,再转向相应的处理服务器
四层负载均衡
基于IP+Port的负载均衡
所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再讲上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器
实现四层负载均衡的软件有:
- F5:硬件负载均衡器,功能很好,但成本很高
- lvs:重量级的四层负载软件
- nginx:轻量级的四层负载软件,带缓存功能,正则表达式灵活
- haproxy:模拟四层转发,较灵活
七层负载均衡
基于虚拟的URL或主机IP的负载均衡
所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器
实现七层负载均衡的软件有:
- haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移
- nginx:只在http协议和mail协议上功能较好,性能与haproxy差不多
- apache:功能较差
- Mysql proxy:功能尚可
四层与七层负载的区别
四层负载均衡 | 七层负载均衡 | |
---|---|---|
基于 | IP+Port | URL |
类似于 | 路由器 | 代理服务器 |
握手次数 | 1次 | 2次 |
复杂度 | 低 | 高 |
性能 | 高;无需解析内容 | 中;需要算法识别URL,Cookie和HTTP Head等信息 |
安全性 | 低,无法识别DDos攻击 | 高,可以防御SYN cookie等 |
额外功能 | 无 | 会话保持,图片压缩,防盗链等 |