众所周知 Nginx可以其中一个最重要的功能就是负载均衡 其中负载均衡主要又有五个算法 内置的有(轮询【默认】、轮询权值【weight】、ip_hash、fair、url_hash)其中前三个为Nginx内置算法 后两个为第三方 需要引用一些模块。
轮询
轮询为默认的负载均衡的方式、即依次将请求分配给不同的服务器上 如果有服务器挂掉 那么就会自动从服务列表里剔除
轮询权值
在ip地址后分配一个weight值 该值越大 即越有概率访问 即可以设置权重 分配哪台服务器被访问的概率更大
Ip_Hash
根据请求者的ip的hash值分配不同的服务器 即除非后端服务器列表产生改变 否则第一次分配给哪台服务器 那么后续都会访问该服务器 可以解决跨服务器上session共享的问题
Fair
Nginx默认不支持Fair算法 如果需要的话必须安装upstream_fair模块 他是比IP_Hash 、URL_Hash更加智能的算法 即为先判断后台服务器的响应时间 分配给响应时间最短的分发的请求多。
Url_Hash
Nginx默认不支持URL_Hash 需要安装Nginx的hash软件包 与Ip_Hash类似 通过用户的URL进行判断分配服务器 可以进一步提高后端缓存的服务器效率