zoukankan      html  css  js  c++  java
  • Mall电商项目总结(二)——nginx负载均衡配置和策略

     1. nginx配置文件

     用户在浏览器上输入,http://www.xwld.site/ 实际上在访问服务80端口nginx 监听80端口用户的请求转发到80809080端口 

    1.    upstream www.xwld.site{  
    2.            server www.xwld.site:8080;  
    3.            server www.xwld.site:9080;  
    4.    }  
    5.    server {  
    6.    listen 80;  
    7.    autoindex on;  
    8.    server_name www.xwld.site xwld.site;  
    9.    access_log /usr/local/nginx/logs/access.log combined;  
    10.    index index.html index.htm index.jsp index.php;  
    11.    if ( $query_string ~* ".*[;'<>].*" ){  
    12.            return 404;  
    13.            }  
    14.    location = / {  
    15.            root /product/front/mmall_fe/dist/view;  
    16.            index index.html;  
    17.    }  
    18.      
    19.    location ~ .*.html$ {  
    20.            root /product/front/mmall_fe/dist/view;  
    21.            index index.html;  
    22.    }  
    23.    location / {  
    24.            proxy_pass http://www.xwld.site/;  
    25.            }  
    26.    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {  
    27.            proxy_pass http://www.xwld.site;  
    28.            expires 30d;  
    29.            }  
    30.    location ~ .*.(js|css)?$ {  
    31.            proxy_pass http://www.xwld.site;  
    32.            expires 7d;  
    33.            }  
    34.    }  

     nginx 配置负载均衡的时候,可以修改上面的配置文件,新增多个服务器ip,也可以指定客户端请求到服务器的对应策略 

    2. Nginx负载均衡配置策略

    常见的策略轮询、权重、ip_hash、fair 

    2.1 轮询

    默认就是轮询方式,轮询的方式,每个请求会按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

    优点

    实现简单,不要配置

    缺点

    不考虑每台服务器处理能力。

    示例 

    upstream www.xwld.site{  
    server www.xwld.site:8080;  
    server www.xwld.site:9080;  
    }  

      

    2.2 权重(weight

    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,在实际生产环境中用的最多。

    优点

    考虑台服务器处理能力的不同

    如果,我们有两条linux服务器,有一,配置比较高,那么这台高配置的服务器,应要负担更多的请求。

    示例

    upstream www.xwld.site{  
    server www.xwld.site:8080  weight=15;  
    server www.xwld.site:9080  weight=10;  
    }  

     上面配置表示,访问8080端口的服务器的概率是访问9080端口1.5

    2.3 ip_hash

    每个请求按访问iphash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

    缺点是,ip_hash不一定平均,可能会造成某一服务器的压力过大。 

    示例

    upstream www.xwld.site{  
    ip_hash;
    server www.xwld.site:8080;  
    server www.xwld.site:9080;  
    }  

    2.4 least_conn(最少连接

    least_conn这种负载均衡策略,能把请求转发给连接数较少的后端服务器,适合请求处理时间长短不一造成服务器过载的情况。

    有时候会出现这种情况,有些接口请求占用的时间很长,会导致其所在的后端服务负载过高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。 

    示例

    upstream www.xwld.site{  
    least_conn;
    server www.xwld.site:8080;  
    server www.xwld.site:9080;  
    }  

    2.5 fair(公平)

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    fair属于第三方的负载均衡策略的实现,要使用这种策略,需要安装第三方插件。 

    示例

    upstream www.xwld.site{  
    server www.xwld.site:8080;  
    server www.xwld.site:9080;  
    fair;  
    }  

    2.6 url_hash

    使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取

    示例

    upstream www.xwld.site{  
    server www.xwld.site:8080;  
    server www.xwld.site:9080;  
    hash $request_uri;  
    }  
  • 相关阅读:
    Oracle 19c RAC自动应用RU补丁过程
    Git忽略删除已加入和未加入版本控制的文件
    樊启斌高等代数典型问题与方法思考与练习答案已完成第3章43题累计128页
    樊启斌高等代数典型问题与方法思考与练习答案已完成第2章行列式41题累计85页
    樊启斌高等代数典型问题与方法思考与练习答案已完成第1章多项式71题
    樊启斌思考与练习参考解答1.02厦门大学2012,哈尔滨工业大学2009
    河北工业大学2000-2019年数学分析考研试题
    青岛大学2009-2017年数学分析高等代数考研试题
    樊启斌思考与练习参考解答1.01北京大学2008
    南京航空航天大学2017年第04届数学竞赛非数学专业试题及参考解答
  • 原文地址:https://www.cnblogs.com/weiqinshian/p/10450830.html
Copyright © 2011-2022 走看看