负载均衡的实现方式有哪些?
负载均衡的实现方式有哪些?
回答重点
负载均衡实现方式常见的有:软件负载均衡、硬件负载均衡、DNS负载均衡。
- 软件负载均衡:通过在普通服务器上安装负载均衡软件来实现流量分发。常见的软件负载均衡器包括 Nginx、HAProxy、Envoy、Apache Traffic Server 等
- 硬件负载均衡:使用专用的负载均衡设备(如 F5、A10 Networks)来实现流量分发。硬件设备通常具备高性能的处理能力,可以处理大规模的网络流量。
- DNS负载均衡:通过 DNS 解析实现负载均衡,将同一域名解析为多个 IP 地址,由 DNS 服务器根据特定策略(如轮询、地理位置)返回不同的 IP 地址。
扩展知识
软件负载均衡
软件负载均衡是最常见的,大小公司都需要用到它。
软件负载均衡是通过负载均衡功能的软件来实现负载均衡,常见的软件有LVS、Nginx、HAProxy。
软件负载负载均衡又分四层和七层负载均衡。
- 四层负载均衡:在网络层利用 IP 地址端口进行请求的转发,基本上就是起个转发分配作用。
- 七层负载均衡:可以根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。
LVS 为四层负载均衡。Nginx、HAProxy 可四可七。

Nginx 通常只用它来做七层负载,LVS来做四层负载。LVS 所以常见的也有这样的搭配。

软件负载均衡的优点在于便宜而且简单灵活,就买个主机,装下软件,配置一下就能用了,配置也很简单对于一般小型企业,或者并发量不高的企业来说就够用了。而且在高峰期时容易扩容。
缺点在于(和硬件负载均衡比)性能一般,流量很大的企业就用软件负载均衡顶不住,没防火墙或者防DDos攻击等安全性功能。
硬件负载均衡
硬件负载均衡就是用一个硬件一个基础网络设备,类似我们的交换机啊这样的硬件,来实现负载均衡。
常见的硬件有F5、A10。
优点:
- 功能强大,支持全局负载均衡提供全面的复杂均衡算法。
- 性能强悍,支持百万以上的并发。
- 提供安全功能,例如防火墙,防DDos攻击等。
缺点:
- 成本高!这算是它最大的缺点了(为了安全通常还得一主一备)。
- 扩展能力差,当访问量突增的时候超过限度不能动态扩容。
DNS负载均衡
这个负载均衡时通过 DNS 来的,因为 DNS 解析同一个域名可以返回不同的 IP。所以例如哈尔滨的人访问百度就返回距离他近的那个机房的 IP,海南的人访问百度就返回距离他近的那个机房的 IP。所以主要是用来实现地理级别的负载均衡。
优点:
- 简单,交给 DNS 服务器处理咱们都不用干活
- 因为是就近访问可以减少响应的时间,提升访问速度
缺点:
- DNS有缓存而且缓存时间较长,所以当机房迁移等需要修改DNS配置的时候,用户可能还会访问之前的IP,导致访问失败。
- 扩展能力差,因为运营商管理控制的,由不得我们定制或者扩展。
- 比较笨,不能区分服务器之间的差异,也不能反映服务器的当前运行状态。
结合使用
DNS 负载均衡是地理级别的,硬件负载均衡对应的是集群级别的,软件负载均衡对应的是机器级别的。

不过一般而言像小公司或者流量不大的公司都是只需要软件负载均衡,也可能LVS都不需要上所以是按实际情况删减上图的一些东西。真正公司发展起来用户量激增才会考虑多机房和上硬件,毕竟是需求的驱使和不差钱了。
Comments