负载均衡能够将客户端流量平均分配到服务器阵列,解决大量并发访问服务问题,是分布式场景下服务治理的重要手段。
1、什么是负载均衡
早期互联网应用比较简单,单台服务器即可满足负载需求,也就不存在什么均衡问题。随着流量增大,单机变成了服务器集群,此时流量会由多台服务器共同承载,此时就要保证每台服务器能够“平均”的承载流量,防止流量集中到某个单台机器,导致机器甚至集群崩溃。在实际操作中,均衡策略往往不是按照流量进行平均分流的,因为集群机器性能会有所不同。
总结来说,负载均衡(load balancer)是指把用户访问流量,通过负载均衡器,根据某种均衡策略分发到多台服务器上,从而实现分散负载的效果。
2、负载均衡分类
负载均衡根据所采用的设备对象(软/硬件负载均衡),应用的 OSI 网络层次(网络层次上的负载均衡:二层负载均衡MAC、三层负载均衡IP、四层负载均衡TCP-IP+port、七层负载均衡HTTP),及应用的地理结构(本地/全局负载均衡)等有不同的分类方式。
从软硬件角度看,硬件负载均衡是通过专门的硬件设备来实现负载均衡,功能强大,性能好,稳定,同时具备较好的安全防护功能,但同时价格也非常昂贵,维护和扩展能力也比较差。而软件负载均衡可以在普通服务器上运行使用,根据不同场景可以选择四层或七层负载均衡,易操作灵活,比如常用的NGINX、HAproxy、LVS等。</