zoukankan      html  css  js  c++  java
  • Nginx---负载均衡

    Nginx---负载均衡

    概述
    • Nginx负载均衡提供上游服务器(真实业务逻辑访问的服务器),负载均衡、故障转移、失败重试、容错、健康检查等。
      当上游服务器(真实业务逻辑访问的服务器)发生故障时,可以转移到其他上游服务器(真实业务逻辑访问的服务器)。
    配置
    upstream  backServer{
    	    server 127.0.0.1:8080;
    	    server 127.0.0.1:8081;
    	}
     	
    	server {
            listen       80;
            server_name  www.itmayiedu.com;
            location / {
    		    ### 指定上游服务器负载均衡服务器
    		    proxy_pass http://backServer;
                index  index.html index.htm;
            }
        }
    
    负载均衡算法
    • 负载均衡算法
      • 每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。
    • weight(轮询权值)
      • weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。
      • 一般是按比例
    upstream  backServer{
    	server 127.0.0.1:8080 weight=1;
    	server 127.0.0.1:8081 weight=2;
    	}
    
    • ip_hash
      • 每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。
    upstream  backServer{
    	    server 127.0.0.1:8080 ;
    		server 127.0.0.1:8081 ;
    		ip_hash; 
    	}
    
    • fair(第三方)
      • 比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间 来分配请求,响应时间短的优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。
    • url_hash(第三方)
      • 按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。
    Nginx配置故障转移
    • 当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用。
    • nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
      proxy_connect_timeout 1s;
    • nginx发送给上游服务器(真实访问的服务器)超时时间
      proxy_send_timeout 1s;
    • nginx接受上游服务器(真实访问的服务器)超时时间
      proxy_read_timeout 1s;
  • 相关阅读:
    hdu2138(求素数)
    hdu2104
    poj1664(放苹果)
    数塔问题给你有哪些启示?
    汉诺塔问题(1)
    算法的力量(转李开复)
    最长子序列问题之系列一
    forward和redirect的区别
    group by 和having
    java中的多态三要素是什么?
  • 原文地址:https://www.cnblogs.com/frankltf/p/10372491.html
Copyright © 2011-2022 走看看