Nginx的负载均衡

作者: 我在写简书 | 来源:发表于2017-08-09 00:59 被阅读53次

    Nginx负载均衡_腾讯视频

    PPT

    一、.背景介绍

    nginx 这个轻量级、高性能的 web server 主要可以干两件事情:

    一是直接作为http server;另外一个功能就是作为反向代理服务器实现负载均

    二、.知识剖析

    nginx的负载均衡的几种策略:

    1.轮询(默认);

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

    upstream backserver {

    server IP1;

    server IP2;

    }

    2.指定权重:weight;

    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

    upstream backserver {

    server IP1 weight=10;

    server IP2 weight=10;

    }

    3.ip_hash;

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

    upstream backserver {

    ip_hash;

    server IP1:88;

    server IP2:80;

    }

    4.fair(第三方);

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

    upstream backserver {

    server server1;

    server server2;

    fair;

    }

    5.url_hash(第三方)

    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

    upstream backserver {

    server squid1:3128;

    server squid2:3128;

    hash $request_uri;

    hash_method crc32;

    }

    三、常见问题

    1.为什么要用nginx负载均衡?

    2.nginx的优缺点?

    四、解决方案

    1.为什么要用nginx负载均衡?

    简单来说就是为了在服务器端宕机后,不会导致整个服务不能使用,负载均衡需要在两台以上的服务器上才能实现

    2.nginx的优缺点?

    优点:(1)Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能

    (2)Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来

    (3)可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量

    (4)Nginx也可作为静态网页和图片服务器,这方面的性能也无对手。

    缺点:(1)Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些

    (2)对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测

    五、编码实战

    六、扩展思考

    Session问题:

    当我们确定一系列负载的服务器后,那我们的WEB站点会分布到这些服务器上。

    这个时候如果采用Test2 每一次请求随机访问任何一台服务器上,这样导致你访问A服务器后,

    下一次请求又突然转到B服务器上。这个时候与A服务器建立的Session,传到B站点服务器肯定是无法正常响应的。

    总结:通过nginx ip_hash负载保持对同一服务的会话,这中看起来最方便,最轻量。但是数据量增大会导致ip

    七、参考文献

    Nginx负载机均衡的配置

    Nginx的优缺点

    八、更多讨论

    相关文章

      网友评论

        本文标题:Nginx的负载均衡

        本文链接:https://www.haomeiwen.com/subject/nngxrxtx.html