乐趣区

关于后端:对负载均衡的全面理解


title: 对负载平衡的全面了解
date: 2021-07-10 21:41:24

tags: TCP/IP

负载平衡 服务 (LBS) 小名入行不多久就始终听闻,起初的工作中,也理解到 软件负载均衡器,如被合入 Linux 内核的章文嵩的 LVS,还有以应用程序模式呈现的 HAProxy、KeepAlived,以及更相熟的 Nginx 等

也晓得价格昂扬的硬件负载均衡器如 F5,A10 (甚至搬运过报废的 F5)

但长期以来,也有一些纳闷不解,比方

  • 常说的 四层负载平衡 是不是就是在传输层实现负载平衡?
  • 四层负载平衡中常听到的 三角传输模式IP 隧道模式NAT 模式,有何区别?哪个性能最好?
  • 四层负载平衡性能好,那为何还有如 nginx 这样名气更大的 七层负载平衡 的呈现?(Nginx 也能够用来做四层代理)
  • 负载平衡与反向代理有何异同?
  • 转发和代理有何实质不同?

这是几年前记的笔记, 显然存有舛误。

计算机网络中常见缩略词翻译及扼要释要

通读 凤凰架构 – 负载平衡一章,可知

  • 四层负载平衡 次要工作在 第二层和第三层 ,即 数据链路层和网络层 (通过 改写 MAC 地址 IP 地址 实现转发)​​​
  • “三角传输模式”(Direct Server Return,DSR),是作用于 数据链路层负载平衡,也称“单臂模式”(Single Legged Mode)或者“间接路由”(Direct Routing)。通过批改申请数据帧中的 MAC 指标地址,让用户本来是发送给负载均衡器的申请的数据帧,被二层交换机依据新的 MAC 指标地址转发到服务器集群中对应的服务器(“实在服务器”)的网卡上。效率高性能好,但有些场景不能满足
  • 网络层负载平衡:IP 隧道模式,NAT 模式

IP 隧道模式:

NAT 模式:

在流量压力比拟大的时候,NAT 模式的负载平衡会带来较大的性能损失,比起间接路由和 IP 隧道模式,甚至会呈现数量级上的降落

  • 四层负载平衡进行 转发 ,只有一条 TCP 通道;七层负载平衡只能进行 代理,须要有两条 TCP 通道
  • 七层负载均衡器就属于反向代理中的一种;
  • 如果只论网络性能,七层均衡器必定是无论如何比不过四层均衡器的;但其工作在应用层,能够感知应用层通信的具体内容,往往可能做出更理智的决策,玩出更多的花色来。

负载平衡的两大职责是“抉择谁来解决用户申请”和“将用户申请转发过来”。下面讲的都是 怎么将用户申请转发过来

至于抉择 哪台应用服务器来解决用户申请 (翻牌子),则有很多算法,如下图就是 F5 的一些 抉择算法

B 站:一次性讲清楚四层负载平衡中的 NAT 模式和 IP 隧道模式

Shadowsocks 源码解读——什么是代理?什么是隧道?

NAT 模式、路由模式、桥接模式的区别

VLAN 是二层技术还是三层技术?

四层负载平衡详解

本文由 mdnice 多平台公布

退出移动版