负载均衡
1.什么是负载均衡
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2.负载均衡分层
地域上的负载均衡:DNS(轮询、多个公网IP)
硬件层面的负载均衡: F5 (作用:集群和集群之间的负载均衡)
软件层面的负载均衡:lvs | nginx (作用:主机和主机之间的负载均衡)
3.四层负载均衡、七层负载均衡
二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;
三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;
四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;
七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。
所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。
比如:192.168.0.1 80 端口是官网的访问地址
192.168.0.2 80 端口是文件服务器的地址
四层负载均衡就会分配的真实的服务器去。
比如:你的WEB服务器分成两组,一组是中文语言,一组是英文语言。
七层负载均衡就可以当用户来访问的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。
四层负载:LVS、F5
七层负载:haproxy、mysql proxy
四层负载:客户端与负载均衡器与服务器建立一个TCP连接,负载均衡器会修改报文头目标地址、修改源地址(根据需求)
七层负载:负载均衡器与客户端与服务器分别建立一个TCP连接。
七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。