nginx常用负载均衡算法有6种:
nginx本身支持4种:轮询(round robin), 加权轮询(weight round robin), ip_hash, 最小连接(least_conn)
第三方模块,支持2种:最快响应时间(fair), url_hash
1. 轮询(round robin)
轮询,依次将请求分配到各个后台服务器,默认方式,挂掉的服务可自动剔除。
2. 加权轮询(weight round robin)
根据权重将请求分配到不同的机器中
3. ip_hash
根据请求的ip的hash值分配到对应的后台服务器,可以保证同一ip请求总是到同一个后台服务器,可解决session问题。
4. 最小连接(least_conn)
优先将请求分配给连接最少的服务器,这样可以避免将请求发给压力较大的服务器
5. url_hash
根据请求的url的hash值分配服务器,当后台服务器为缓存时,效率较高
6. 最快响应时间(fair)
根据服务器响应时间来分发,响应时间短,分发越多。