青春须早为,岂能长少年。这篇文章主要讲述HAproxy七层负载均衡四层/七层负载均衡相关的知识,希望能为你提供帮助。
?四层负载均衡与七层负载均衡在工作原理
概述:
【HAproxy七层负载均衡四层/七层负载均衡】1.四层负载均衡工作在OSI模型中的四层,即传输层。四层负载均衡只能根据报文中目标地址和源地址对请求进行转发,而无法修改或判断所请求资源的具体类型,然后经过负载均衡内部的调度算法转发至要处理请求的服务器。四层负载均衡单纯的提供了终端到终端的可靠连接,并将请求转发至后端,连接至始至终都是同一个。LVS就是很典型的四层负载均衡。
2.七层负载均衡工作在OSI模型的第七层应用层,所以七层负载均衡可以基于请求的应用层信息进行负载均衡,例如根据请求的资源类型分配到后端服务器,而不再是根据IP和端口选择。七层负载均衡的功能更丰富更灵活,也能使整个网络更智能。如上图所示,在七层负载均衡两端(面向用户端和服务器端)的连接都是独立的。
3.简言之,四层负载均衡就是基于IP+端口实现的。七层负载均衡就是通过应用层资源实现的。
七层与四层的请求过程
用户访问一个网站的域名时,DNS会把域名解析成公网IP,并且会把用户的报文进行封装,因为是跨网络,会把报文的目标地址指为要访问网站的公网IP,源地址为客户端的IP地址,路由器先会对用户请求的IP做与运算,发现不在同一个网段,所以会把报文进行转发,指定路由器的下一跳的地址,请求的过程中会经过多个路由器,最终到达网站的IP(企业防火墙上的公网IP);最终目标的IP地址就为网站的公网IP,访问到防火墙上的公网IP后,会把报文再次转发,源地址就为企业的内网地址,目标地址就为haproxy所对应的IP地址,然后会基于haproxy是四层负载还是七层负载来决定;如果是四层负载,则haproxy会根据调度算法,把用户的请求调度到一台后端的webserver上,报文的源地址就为haproxy的地址,目标地址为webserver的地址(修改源地址和目标地址是为了回复报文准确的返还给haproxy,防止发送给别的服务器);如果haproxy是七层负载,则haproxy会再次通过TCP三次握手,与后端的webserver建立连接,而不是作为转发。
??负载均衡的软件?
在四层(tcp)实现负载均衡的软件:
lvs------>
重量级
nginx------>
轻量级,带缓存功能,正则表达式较灵活
haproxy------>
模拟四层转发,较灵活
在七层(http)实现反向代理的软件:
haproxy------>
天生技能,全面支持七层代理,会话保持,标记,路径转移;
nginx------>
只在http协议和mail协议上功能比较好,性能与haproxy差不多;
apache------>
功能较差
HAProxy与LVS的异同
?1)两者都是软件负载均衡产品,但是LVS是基于Linux操作系统实现的一种软负载均衡,而HAProxy是基于第三应用实现的软负载均衡。
2)LVS是基于四层的IP负载均衡技术,而HAProxy是基于四层和七层技术、可提供TCP和HTTP应用的负载均衡综合解决方案。
3)LVS工作在ISO模型的第四层,因此其状态监测功能单一,而HAProxy在状态监测方面功能强大,可支持端口、URL、脚本等多种状态检测方式。
4)HAProxy虽然功能强大,但是整体处理性能低于四层模式的LVS负载均衡,而LVS拥有接近硬件设备的网络吞吐和连接负载能力。?
推荐阅读
- MySQL数据库(30)(内置函数和自定义函数 function)
- 服务器数据恢复某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案例
- 使用Veeam实现物理机到虚拟机的迁移
- 安势信息技术市场总监王峰,OpenChain 线上研讨会首秀!
- 双因素身份认证动态口令技术原理及优势
- HarmonyOS - 标签NFC码流烧制
- 深度分析狩猎者夹子机器人项目系统开发(逻辑框架)详情
- HtmlParse(一款超轻量级的HTML文件解析和爬取工具)
- 防火墙基础之基本的安全策略web页面配置