10--7层负载均衡集群
前言:动静分离,资源分离都是在7层负载均衡完成的,此处常被与四层负载均衡比较,本章这里使用haproxy与nginx进行负载均衡总结演示。
1、基础概念详解
1.1、负载均衡
4层负载均衡和7层负载均衡是两种常见的负载均衡技术,它们在网络和应用分发方面有着不同的工作方式和应用场景。
1.1.1、4层负载均衡
4层负载均衡工作在OSI模型的第四层,即传输层。它主要基于数据包的源IP地址、目标IP地址、源端口号和目标端口号等信息来进行负载均衡和流量分发。
原理解释: 想象一家快递公司,每个快递包裹上都有发件人和收件人的地址,以及一个独特的包裹号码。4层负载均衡就像是一个分拣员,根据包裹的地址和号码来决定把包裹送到哪个目的地,但并不了解包裹的内容。这里的地址和号码就相当于数据包中的IP地址和端口号,通过这些信息来决定将请求分发给哪台服务器处理。
应用场景: 4层负载均衡通常用于基于TCP和UDP协议的负载均衡,能够有效地处理大量的网络流量和连接请求。它适用于需要高效处理大规模连接的场景,如网站访问、数据库访问等。
1.1.2、7层负载均衡
7层负载均衡工作在OSI模型的第七层,即应用层。它不仅考虑网络数据包的源IP地址、目标IP地址和端口号,还深入到数据包的负载内容,比如HTTP请求的URL、Cookie等信息,从而做更加智能化的请求分发和负载均衡。
原理解释: 想象一位精明的接待员在一家酒店大堂里工作,不仅知道每位客人的姓名和房间号(相当于IP地址和端口号),还知道每位客人的需求和偏好(相当于HTTP请求的URL和Cookie信息)。7层负载均衡就像这位接待员,可以根据客人的需求和偏好,智能地将请求分发给最合适的服务节点处理。
应用场景: 7层负载均衡广泛应用于需要深度应用内容分发的场景,如Web应用程序中的HTTP和HTTPS流量、应用程序级别的负载均衡(如基于域名的负载均衡)。它能够根据应用层的信息做出更精细化的流量调度和应用服务优化。
1.1.3、总结
4层负载均衡更注重于网络连接的管理和分发,而7层负载均衡则在应用层面上更为智能化地进行请求的处理和分发。选择合适的负载均衡技术取决于具体的应用需求和性能要求。
1.2、HAProxy
1.2.1、HAProxy的特点
1、HAProxy支持虚拟主机。
2、HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导 同时支持通过获取指定的url来检测后端服务器的状态
3、HAProxy跟LVS类似,本身就只是一款负载均衡软件 单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx
4、HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡 对后端的MySQL节点进行检测和负载均衡
5、支持8种左右的负载均衡算法,尤其是在http模式时,有许多非常实用的负载均衡算法,适用各种需求。
1.2.3、HAProxy Session亲缘性
haproxy负载均衡保持客户端和服务器Session亲缘性的三种方式

