负载均衡
负载均衡:Load Balance 是基于服务或硬件实现的高可用反向代理技术,可以将特定的业务(web服务、数据库访问)分担给指定的一个或多个后端服务集群,从而提高了公司业务的并发处理能力,保证业务高可用的同时,也方便业务后期的水平动态扩展
负载均衡的优点
- 后端服务器水平动态扩展——对用户无感知
- 增加业务并发处理能力——解决单服务器瓶颈问题
- 节约公网IP——对公司来说省钱,降低成本
- 隐藏内部服务器IP——提高内部服务器安全性
- 功能丰富——分别有七层和四层负载均衡
四层负载均衡
- 通过IP+Port决定负载均衡的去向
- 对流量的请求进行DNAT处理(目标地址转换),也可按需进行SNAT处理(源地址转换)。
-
记录 tcp 、 udp 流量分别是由哪台服务器处理,后续该请求连接的流量都通过该服务器处理。
-
支持四层的软件
- LVS (Linux Virtual Server)重量级四层负载均衡器
- Nginx:轻量级四层负载均衡器,可缓存。
- Haproxy:模拟四层转发
七层负载均衡
- 根据URL或主机IP进行流量识别,根据应用层信息进行解析,决定是否需要进行负载均衡
- 支持七层代理的软件
-
Nginx: 基于 http 协议
-
Haproxy: 七层代理,会话保持、标记、路径转移等
-
七层负载均衡和四层负载均衡的区别
核心区别:在对后台服务器负载均衡的时候,是依据四层的信息还是依据四层的信息来决定怎么转发
四层负载均衡:就是通过三层网络层的IP+四层传输层的Port来决定哪些流量需要做负载均衡,对需要处理的流量进行DNAT处理,或按需SNAT处理,转发至后台服务器。也可通过二层数据链路层通过MAC地址+ARP广播来进行负载均衡,详情请见http://t.csdnimg.cn/aodiJ中LVS dr模式的实现
七层负载均衡:就是在原有四层的基础上,考虑应用层的特征,例如http,一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡。
OSI七层见:http://t.csdnimg.cn/7cjDW