使用Nginx实现负载均衡的策略
一、nginx简介
nginx是一个高性能的HTTP服务器和反向代理服务器。它起初是俄罗斯人Igor Sysoev开发的,至今支撑者俄罗斯的很多大型的网站。
二、nginx支持的三种负载均衡策略
轮询:将请求依次轮询发给每个服务器。
最少链接:将请求发送给持有最少活动链接的服务器。
ip哈希:通过哈希函数决定请求发送给哪个服务器。
权重:服务器的权重越高,处理请求的概率越大。
三、轮询负载均衡
在nginx.conf配置文件中添加如下配置,此配置有三台服务器提供支付服务。
http { upstream CashServers { server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下几点
1.缺省配置就是轮询策略;
2.nginx负载均衡支持http和https协议,只需要修改 proxy_pass后协议即可;
3.nginx支持FastCGI, uwsgi, SCGI,memcached的负载均衡,只需将 proxy_pass改为fastcgi_pass, uwsgi_pass, scgi_pass,memcached_pass即可。
4.此策略适合服务器配置相当,无状态且短平快的服务使用。
四、最少链接负载均衡
http { upstream CashServers { least_conn; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下几点
1.最少链接负载均衡通过least_conn指令定义;
2.此负载均衡策略适合请求处理时间长短不一造成服务器过载的情况;
五、ip哈希负载均衡
http { upstream CashServers { ip_hash; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下几点
1.ip哈希负载均衡使用ip_hash指令定义;
2.nginx使用请求客户端的ip地址进行哈希计算,确保使用同一个服务器响应请求;
3.此策略适合有状态服务,比如session;
六、权重负载均衡
http { upstream CashServers { server CashServers1.com weight=3; server CashServers2.com weight=2; server CashServers3.com weight=1; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下几点
1. 权重负载均衡需要使用weight指令定义;
2. 权重越高分配到需要处理的请求越多;
3.此策略可以与最少链接负载和ip哈希策略结合使用;
4.此策略比较适合服务器的硬件配置差别比较大的情况;
七、健康检测
nginx内置了针对服务器的健康检测机制,如果特定服务器请求失败,则nginx即可进行标记待下次就不会请求分配给它。max_fails定义失败指定次数后进行标记服务器不可用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- windows使用nginx实现网站负载均衡测试实例
- Solaris10 SPARC操作系统中使用Nginx+Tomcat实现负载均衡,并实现websocket代理(一)
- windows使用nginx实现网站负载均衡测试实例
- centos6.7上使用nginx实现负载均衡!
- windows使用nginx实现网站负载均衡测试实例
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
- windows 下使用nginx 实现负载均衡
- Nginx在局域网中使用ip_hash负载均衡策略,访问全部分发到同一个后台服务器
- 了解及使用Nginx实现负载均衡的原理
- 使用nginx来负载均衡 本文在window与linux下配置nginx实现负载
- windows使用nginx实现网站负载均衡测试实例
- windows使用nginx实现网站负载均衡测试实例
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
- 使用nginx实现网站负载均衡测试实例
- windows使用nginx实现网站负载均衡测试实例
- Solaris10 SPARC操作系统中使用Nginx+Tomcat实现负载均衡,并实现websocket代理(三)
- Nginx+Tomcat+Memcached 集群Session共享[memcached服务安装、tomcat使用memcache存储session、nginx安装配置实现tomcat负载均衡]
- windows使用nginx实现网站负载均衡测试实例
- Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】【转】
- 【Nginx】Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】