🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。 2、weight(轮询权值) weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。 3、ip_hash 每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。 4、fair(第三方) 比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间 来分配请求,响应时间短的优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。 5、url_hash(第三方) 按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包 ``` ### 轮询 ``` 默认 ``` ### 权重 ``` upstream backserver { server 127.0.0.1:8080 weight=1; #weight 指定权重 server 127.0.0.1:8081 weight=2; } server { listen 80; server_name www.domainname.com; location / { proxy_pass http://backserver; index index.html index.htm; } } ``` ### ip_hash ``` upstream backServer{ server 127.0.0.1:8080 ; server 127.0.0.1:8081 ; ip_hash; } server { listen 80; server_name www.test.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; index index.html index.htm; } } ```