关于负载均衡、集群、分布式之间的联系

来源:互联网 发布:网络克隆安装win7 编辑:程序博客网 时间:2024/06/05 06:40
upstream example.com.backend {    #ip_hash; #根据来源IP和后端配置来做hash分配,确保固定IP只访问一个后端    server 192.168.0.1:9000 weight=2; #weight默认为1,值越大,这台server负载的权重就越大    server 192.168.0.2:9000 down; #down表示此台server暂时不参与负载,可以和ip_hash一起使用    server 192.168.0.3:9000 max_fails=3 fail_timeout=30s;    #max_fails表示允许请求失败的次数,默认为1.当超过最大次数时,返回fastcgi_next_upstream模块定义的错误.    #fail_timeout表示max_fails次失败后,暂停的时间,默认是10秒.    server 192.168.0.4:9000;    server 192.168.0.5:9000;    server 192.168.0.6:9000 backup; #当其他非backup服务器down或者busy的时候,请求backup机器,属于应急措施,实现高可用,不能和ip_hash一起使用}server {    location ~ \.php$ {        #访问不存在的php页面返回404        try_files $uri =404;        #如果后端的服务器返回执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移(高可用)。        fastcgi_next_upstream error timeout invalid_header;        include fastcgi_params;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        fastcgi_index index.php;        #把这台server的php动态请求fastcgi_pass给upstream(上游)后端服务器集群        fastcgi_pass example.com.backend;    }}
均衡负载 体现在Nginx会把PHP请求均匀地发送给upstream里的PHP-FPM进行处理.
集群 体现在upstream里不同IP的服务器提供同样的PHP-FPM服务.
分布式 体现在即使upstream里有服务器崩了,Nginx也能自动进行故障转移.

上面的PHP-FPM换成Java Tomcat也是一样的道理.

转自:http://segmentfault.com/q/1010000003052403

0 0
原创粉丝点击