区分不同层级的负载均衡

介绍

区分下 Layer 4 load balancing (四层负载均衡) 和 Layer 3 load balancing (三层负载均衡.

Layer 4 load balancing

Layer 4 load balancing 处理传输层协议, 如 TCP 和 UDP, 其关注数据流的连接状态和传输特性, 分析 TCP/UDP 头部报文中的 IP, 端口, 连接状态等信息 (正因为不只是分析 IP 地址), 从而分配流量.

Layer 3 load balancing

Layer 3 load balancing 处理网际层协议, 如 IP, 其负责数据包在不同网络之间的传输, 仅关注源和目的 IP 地址进行流量分配, 而不关注传输层信息.

例子

假设我们有一个简单的 Web 应用, 运行在三台后端服务器上 (Server A, Server B 和 Server C), 用户通过一个负载均衡器访问该应用.

如果是 Layer 3 load balancing, 其仅分析 IP 地址, 当用户发起请求时, 负载均衡器查看请求的源 IP 地址和目的 IP 地址, 然后将流量转发到后端服务器:

  1. 如果用户 A 的 IP 地址是 192.168.1.10, 那么负载均衡器就将请求转发到 Server A
  2. 如果用户 B 的 IP 地址是 192.168.1.11, 那么负载均衡器就将请求转发到 Server B

而对于 Layer 4 load balancing, 其不仅分析 IP 地址, 还会分析 TCP/UDP 头部信息, 包括源和目标端口:

  • 用户 A 的请求 (源 IP 192.168.1.10, 源端口 5000) 进入负载均衡器. 负载均衡器记录这个连接并决定将请求转发到 Server A
  • 随后, 用户 A 的后续请求 (仍然来自 192.168.1.10:5000) 也会被转发到 Server A, 以保持会话一致性
  • 用户 B 的请求 (源 IP 192.168.1.11, 源端口 5001) 可能会被转发到 Server B

也就是能保留会话.


区分不同层级的负载均衡
http://example.com/2024/10/23/区分不同层级的负载均衡/
作者
Jie
发布于
2024年10月23日
许可协议