Nginx支持的负载均衡调度算法方式以下:算法
weight轮询(默认):接收到的请求按照顺序逐一分配到不一样的后端服务器,即便在使用过程当中,某一台后端服务器宕机,Nginx会自动将该服务器剔除出队列,请求受理状况不会受到任何影响。 这种方式下,能够给不一样的后端服务器设置一个权重值(weight),用于调整不一样的服务器上请求的分配率;权重数据越大,被分配到请求的概率越大;该权重值,主要是针对实际工做环境中不一样的后端服务器硬件配置进行调整的。后端
ip_hash:每一个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在必定程度上解决了集群部署环境下session共享的问题。缓存
fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的几率高,响应时间长处理效率低的服务器分配到的请求少;结合了前二者的优势的一种调度算法。可是须要注意的是Nginx默认不支持fair算法,若是要使用这种调度算法,请安装upstream_fair模块。服务器
url_hash:按照访问的url的hash结果分配请求,每一个请求的url会指向后端固定的某个服务器,能够在Nginx做为静态服务器的状况下提升缓存效率。一样要注意Nginx默认不支持这种调度算法,要使用的话须要安装Nginx的hash软件包。session