负载均衡带来的好处:提高了系统的整体性能,提高了系统的扩展性,提高了系统的可用性。
广义上的负载均衡器大概可以分为 3 类,包括:DNS方式实现负载均衡、硬件负载均衡、软件负载均衡。
DNS 实现负载均衡是最基础简单的方式。一个域名通过 DNS 解析到多个 IP,每个 IP 对应不同的服务器实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但也的确完成了简单负载均衡的功能。
DNS负载均衡优点:
实现简单,成本低,无需自己开发或维护负载均衡设备,
DNS负载均衡缺点:
服务器故障切换延迟大,服务器升级不方便。流量调度不均衡,粒度太粗。算法较少。DNS 支持的 IP 列表有限制
硬件负载均衡是通过专门的硬件设备来实现负载均衡功能,类似于交换机、路由器,是一个负载均衡专用的网络设备。目前业界典型的硬件负载均衡设备有两款:F5 和 A10。
硬件负载均衡的优点:
功能强大:全面支持各层级的负载均衡,支持全面的负载均衡算法。
性能强大:性能远超常见的软件负载均衡器。
稳定性高:商用硬件负载均衡,经过了良好的严格测试,经过大规模使用,稳定性高。
安全防护:除了具备负载均衡外,还具备防火墙、防 DDoS 攻击等安全功能,貌似还支持 SNAT 功能。
硬件负载均衡的缺点:
价格昂贵,就是贵。
扩展性差,无法进行扩展和定制。
调试和维护比较麻烦,需要专业人员。
软件负载均衡主要包括:nginx、HAproxy 和 LVS。据了解如 BAT 等大厂都是 LVS。所以目前较为熟悉的负载均衡软件是 LVS,且大部分中小型公司使用开源的 LVS 足够满足业务需求。