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

      nginx负载均衡是根据它的均衡策略,将负载(请求)分配给后端不同的服务器处理。如后端某些服务器挂了,会分配给其他运行正常的服务器处理,如某些服务器正在处理,新一次的请求会让那些比较空闲的服务器处理。

      所以它能使你的服务响应快,可用性高。

      均衡策略:

      1、轮询(默认)
      每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
      2、weight
      指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
      3、ip_hash
      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
      4、fair(第三方)
      按后端服务器的响应时间来分配请求,响应时间短的优先分配。
      5、url_hash(第三方)
      按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

        

      负载均衡的问题,如果同一个用户的两次请求分别分配到两个不同的服务器上,会造成用户的session丢失;如果用户上传文件,nginx分配给一个服务器,然后用户去下载该文件,nginx可能会分配给另一个服务器处理,由于文件保存在前一个服务器而导致文件不存在。

      通常决解是将session和文件保存到数据库,也有使用缓存。

      

      nginx与apache分别是两种服务器,apache在每次处理一个用户请求时会创建一个进程,nginx是创建一个线程,多个线程共享某一个进程。apache每秒能处理的并发请求数量为3000个,nginx为50000个。

     

      




    wKiom1NhAXrBLo_1AAEhYUrHQmM672.jpg

  • 相关阅读:
    mysql获取给定时间段内的所有日期列表
    mysql中的年,月,日统计以及日历表的实现
    MySQL5.7安装配置
    获取ip地址
    Intellij热部署插件JRebel
    IntelliJ IDEA2018版热部署jrebel插件安装使用教程
    idea插件篇之java内存分析工具(JProfiler)
    mysql中的整除,取余
    SIMD.mul (SIMD) – JavaScript 中文开发手册
    Java面试题 : 如何确保N个线程访问N个资源的同时又不导致死锁
  • 原文地址:https://www.cnblogs.com/linying/p/4572286.html
Copyright © 2011-2022 走看看