运维 | 四层和七层负载均衡介绍

关注: CodingTechWork

负载均衡

负载均衡介绍

概念

  1. 负载均衡是建立在现有的网络结构之上,提供一种廉价且透明的方式进行网络设备和服务器带宽的扩展,从而增加吞吐量,加强应用服务的数据处理能力,有效提高网络的灵活性和可用性。
  2. 负载均衡重点在于"均",由原来的单个节点承接流量,变成多个节点分担流量,减少请求响应时间,提高应用程序的可用性和可伸缩性。

分类

根据采用的设备对象区分
  1. 软件负载均衡
  2. 硬件负载均衡
根据OSI模型的位置区分
二层负载均衡(mac地址)

数据链路层,使用虚拟mac地址方式,外部请求流量经过虚拟mac地址,负载均衡收到流量请求后分配后端实际的mac地址进行响应。

三层负载均衡(ip地址)

网络层,使用虚拟ip地址方式,外部请求流量经过虚拟ip地址,负载均衡收到流量请求后分配后端实际的ip地址进行响应。

四层负载均衡(tcp)

传输层,使用ip+port接收外部流量请求,转发到对应的机器上。

七层负载均衡(http)

应用层,使用虚拟的url或ip地址接收外部流量请求,转发到对应的处理服务器。

协议分层

常用分层

OSI模型分层

  1. 应用层:对软件提供接口以使程序能使用网络服务,如事务处理程序、文件传送协议和网络管理等。(HTTP、Telnet、FTP、SMTP)
  2. 表示层:程序和网络之间的翻译官,管理数据的解密加密数据转换、格式化和文本压缩。(JPEG、ASCII、GIF、DES、MPEG)
  3. 会话层:负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能。(RPC、SQL、NFS)
  4. 传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。(TCP、UDP、SPX)
  5. 网络层:将网络地址(ip地址)翻译成对应物理地址(网卡地址),并决定如何将数据从发送方路由到接收方。(IP、ICMP、IGMP、IPX、ARP、RARP)
  6. 数据链路层:物理地址寻址、数据的成帧、流量控制、数据的检错、重发。(IEEE 802.3/.2、HDLC、PPP、ATM)
  7. 物理层:物理连网媒介,如电缆连线连接器。(RS232、V.35、RJ-45、FDDI)

四层负载均衡

介绍

  1. 四层负载均衡是基于ip+port的负载均衡。
  2. 四层是基于三层负载均衡,发布三层的ip地址(虚拟ip),再加上四层的端口号,从而决定哪些流量需要做负载均衡。
  3. 四层负载均衡器也称为四层交换机,分析IP层及TCP/UDP层,但是无法解析应用层协议。

原理

  1. 通过ip+port决定负载均衡的去向。
  2. 对流量请求进行NAT处理,转发至后台服务器。
  3. 记录tcp、udp流量分别是由哪台服务器处理,后续该请求连接的流量都通过该服务器处理。

示例

  1. 外部发送tcp请求进入负载均衡设备。
  2. 负载均衡设备接收到第一个来自客户端的SYN请求,选择后台服务器,将报文中的目标IP地址进行修改(修改为转发后的后台服务器),转发到该服务器。
  3. tcp三次握手进行客户端和服务器的连接。

产品

  1. F5:硬件负载均衡器,成本较高。
  2. Nginx:轻量级四层负载均衡器,可缓存。(nginx四层是通过upstream模块)
  3. Haproxy:模拟四层转发。
  4. lvs:重量级四层负载均衡器。

七层负载均衡

介绍

  1. 七层负载均衡器是基于虚拟的url或主机ip的负载均衡。
  2. 七层负载均衡在于内容的交换,即应用层报文内容的交换解析。
  3. 七层负载均衡器也称为七层交换机,支持四层负载均衡器的功能,且可分析应用层信息,如HTTP协议、URI、Cookie等信息。

原理

  1. 通过虚拟url或主机ip进行流量识别,根据应用层信息进行解析,决定是否需要进行负载均衡。
  2. 代理后台服务器与客户端建立连接,如nginx可代理前后端,与前端客户端tcp连接,与后端服务器建立tcp连接。

产品

  1. Nginx:基于http协议(nginx七层是通过proxy_paas)
  2. Haproxy:七层代理,会话保持、标记、路径转移等。

四层和七层的区别

  1. 分层位置:四层负载均衡在传输层及以下,七层负载均衡在应用层及以下。
  2. 性能:四层负载均衡架构无需解析报文消息内容,在网络吞吐量与处理能力上较高;七层可支持解析应用层报文消息内容,识别URL、Cookie、HTTP header等信息。
  3. 原理:四层负载均衡是基于ip+port;七层是基于虚拟的URL或主机IP等。
  4. 功能类比:四层负载均衡类似于路由器;七层类似于代理服务器。
  5. 安全性:四层负载均衡无法识别DDoS攻击;七层可防御SYN Cookie/Flood攻击
相关推荐
鸽芷咕12 分钟前
DrissionPage 成 CANN 仓库爆款自动化工具:背后原因何在?
运维·python·自动化·cann
池央21 分钟前
CANN 算子生态的深度演进:稀疏计算支持与 PyPTO 范式的抽象层级
运维·人工智能·信号处理
OJAC11133 分钟前
当所有人都在说“运维稳了”,近屿智能看到了另一种可能
运维
人鱼传说1 小时前
docker desktop是一个好东西
运维·docker·容器
阿梦Anmory1 小时前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
呉師傅2 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
heartbeat..2 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk2 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊2 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
消失的旧时光-19433 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器