一、什么是负载均衡?

       网络负载均衡技术大致原理为:利用一定的分配策略将网络网络负载平衡的分摊到网络集群的各个操作单元上,使得单个重负载任务能够分担到多个单元上并行处理,或者使得大量并发访问或数据流量分担到多个单元上分别处理,从而减少用户的等待响应时间。

       在实际的应用中,负载均衡会根据网络的不同层次(一般按照OSI七层参考模型)进行划分。现代的负载均衡技术主要实现和作用于网络的第四层或者第七层,完全独立于网络基础硬件设备,成为单独的技术设备。Nginx服务器实现的负载均衡一般认为是七层负载均衡。

       负载均衡主要通过专门的硬件设备实现或者通过软件算法实现。通过硬件设备实现党的负载均衡效果好、效率高、性能稳定,但是成本比较高。通过软件实现的负载均衡主要依赖于均衡算法的选择和程序的健壮性。均衡算法也是多种多样的,常见的有两大类:即静态负载均衡算法和动态负载均衡算法。静态算法实现比较简单,在一般的网络环境下也能达到比较好的效果,主要有一般轮回算法、基于比率的加权轮询算法和基于优先级的加权轮询算法等。动态负载均衡算法在较为复杂的网络环境中适应性更强,效果更好,主要有基于任务量的最少连接优先算法、基于性能的最快响应优先算法、预测算法及动态性能分配算法等。

二、Nginx服务器负载均衡配置:

       Nginx服务器实现了静态的基于优先级的加权轮询算法,主要使用的配置是proxy_pass指令和upsteam指令。