负载均衡器的基本知识

一 什么是负载均衡器

认识一下负载均衡器,如下图:

![image](images/MvBAvwSF2cvbcfv5-fzOf51RI8udmutT9hjrCb0Hgmw.png)

在服务器与请求之间,通过一定的策略,将不同的请求分发到不同的应用上去,其具备这样的优点:

  1. 高可用
  2. 故障转移
  3. 压力平分

二 负载均衡器的类别

负载均衡器根据软硬件分主要可以分为两种:

  1. 硬件的负载均衡

    1. 具备专门的系统,专门的策略等的硬件,性能是非常高的(缺点,例如美国的f5,一个成本最小也要十几万)
  2. 软件层面的负载均衡

    1. 例如haproxy等

从网络层面可以分为这两种:

  1. 四层代理

    1. linux中的lvs(tcp)
  2. 七层代理

    1. nginx的应用层面的代理(http)

七层网络协议我也不是很懂,网络这块确实是我的盲区,只能大概介绍一下,如下图:

![image](images/iidmrDYFsZpb9ByfgTACSHJ3mXrOnU9RXpqPujk-nc0.png)

四层与七层的简单对比:

四层负载均衡七层负载均衡
功能性多,支持资源压缩、更多策略
执行效率相对较低
作用协议TCPHTTP、FTP、SMTP
应用场景实时应用集群
大规模集群间数据交互
Web应用集群
需要更多额外功能的应用集群

三 nginx的五种负载均衡模式

我们用得最多的软件层面的负载均衡器就是nginx。

其五种负载均衡模式如下:

  1. 轮询
  2. ip Hash (不能保证均衡)
  3. url Hash (不能保证均衡)
  4. 权重策略(配置upstream时候的weight)
  5. Fair(三方插件,其功能就是发现闲置或者延时较低的服务器,优先分发)
Last modification:July 5, 2022
If you think my article is useful to you, please feel free to appreciate