linux负载均衡总结性说明(四层负载/七层负载)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux负载均衡总结性说明(四层负载/七层负载),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3786字,纯文字阅读大概需要6分钟。
内容图文
一、前言
在常规的运维工作中,经常会用到负载均衡服务器。负载均衡分为四层负载均衡和七层负载均衡,那么这两者有什么不同?
二、什么是负载均衡
1)负载均衡建立在现有的网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的宽带,增加吞吐量,加强网络的处理能力,提高的网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或者数据流量分担到多台节点设备上分别处理,减少用户访问等待时间;其次系统处理能力大幅度提升,增加用户的好感度
2)简单来说就是:其一是将大量的并发处理转发给后端的多个节点处理,减少工作响应时间;其二将单个繁重的工作转发给后端的多个节点处理,处理完在返回给负载均衡中心,在返回给用户。目前负载均衡技术大多数是用于提高诸如在web服务器,ftp服务器和其他关键任务服务上的Internet服务器程序的可用性和伸缩性。
三、负载均衡的分类
1)二层负载均衡(mac)
根据OSI模型分为二层负载,一般是用虚拟mac地址方式,外部对虚拟mac地址请求,负载均衡接收后分配后端实际的mac地址响应
2)三层负载均衡(ip)
一般是采用虚拟ip地址的方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的ip地址响应
3)四层负载均衡(tcp)
在三层负载均衡的基础上用ip+port接收请求,在转发到对应的服务器
4)七层负载均衡(http)
根据虚拟的URL或者ip,主机接收请求,在转发到响应的处理服务器
5)概述
我们在运维中最常见的是四层负载均衡和七层负载均衡,这里重点说着两种负载均衡
1)四层负载均衡就是基于IP+端口的负载均衡;在三层负载均衡的基础上,通过发布三层的ip地址(VIP),然后加四层的端口号,来决定那些流量需要做负载,对需要处理的流量进行nat处理,转发到后端的服务器,并记录这个tcp或udp流量由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
对应的负载均衡器叫四层交换机,主要分析ip层以及TCP/UDP层,实现四层负载均衡。这种负载均衡不理解应用协议(如HTTP/FTP/MySQL等)。
实现四层负载均衡器的软件有:
F5:硬件负载均衡器,功能很好,但是成本很高
lvs:重量级的四层负载均衡
LVS 不像 HAProxy 等七层软负载面向的是 HTTP 包,所以七层负载可以做的 URL 解析等工作,LVS 无法完成。
LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡。因为 LVS 是四层负载均衡,因此它相对于其它高层负载均衡的解决办法,比如 DNS 域名轮流解析、应用层负载的调度、客户端的调度等,它的效率是非常高的。
nginx:轻量级的四层负载软件,带缓存功能,正则表达式比较灵活
haproxy:模拟四层转发,比较灵活
2)七层负载均衡是基于虚拟的URL或者主机ip的负载均衡器;在四层负载均衡的基础上(没有四层是绝对不可能有七层的)
对应的负载均衡器称为7层交换机,除了支持四层负载均衡以外,还能分析应用层的信息,如HTTP协议URL或Cookie信息,实现七层负载均衡,此种负载均衡器能理解应用协议。
实现七层负载均衡的软件有:
haproxy:天生的负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;
nginx:nginx的stream模块支持七层负载均衡,使用类似http模块,后面会专有一篇文章进行解读
三、两者之间的区别
1)从技术理论上分析
所谓的四层负载均衡,也就是主要通过报文中的目标地址和端口,在加上负载均衡设备的服务选择方式,绝对最终选择的内部服务器 。
以常见的TCP为例子,负载均衡设备在接收到一个来自客户的SYN请求时,通过报文中的目标ip和端口选择一个最佳的服务器,并对报文中的目标ip地址进行更改(改为后端服务器的ip),直接转发给该服务器。tcp的连接建立,即三次握手是客户端和服务端直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署的情况下,为保证服务器回包可以正确返回给负载均衡器,在转发报文的同时还会将报文中的源地址进行修改
所谓七层负载均衡,也称为内容交换,也就是主要通过报文中的真正有意义的应用层内容,在加上负载均衡设备设置的服务器选择方式,决定最终选择的服务器
以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容在选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手后),才能接受到客户端发送的真正应用层内容的报文,然后在根据报文中的特定字段,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。
内容总结
以上是互联网集市为您收集整理的linux负载均衡总结性说明(四层负载/七层负载)全部内容,希望文章能够帮你解决linux负载均衡总结性说明(四层负载/七层负载)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。