区分不同层级的负载均衡
介绍
区分下 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 地址, 然后将流量转发到后端服务器:
- 如果用户 A 的 IP 地址是
192.168.1.10
, 那么负载均衡器就将请求转发到 Server A - 如果用户 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/区分不同层级的负载均衡/