zoukankan      html  css  js  c++  java
  • 3、Nginx负载均衡实现的策略

    为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

    Nginx负载均衡实现的策略有以下五种:

    (1)轮询(默认)

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统。

    1 upstream backserver {
    2   server 192.168.0.12;
    3   server 192.168.0.13;
    4 }

    (2) 权重 weight

    weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

    upstream backserver {
       server 192.168.0.12;
       server 192.168.0.13;
    }

    权重越高,在被访问的概率越大,如上例,分别是20%,80%。

    (3) ip_hash( IP绑定)

    每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题

    1 upstream backserver {
    2   ip_hash;
    3   server 192.168.0.12:88;
    4   server 192.168.0.13:80;
    5 }

    (4) fair(第三方插件)

    必须安装upstream_fair模块。

    对比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。

    1 upstream backserver {
    2   server server1;
    3   server server2;
    4   fair;
    5 }

    哪个服务器的响应速度快,就将请求分配到那个服务器上。

    (5) url_hash(第三方插件)

    必须安装Nginx的hash软件包

    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。

    upstream backserver {
      server squid1:3128;
      server squid2:3128;
      hash $request_uri;
      hash_method crc32;
    }
  • 相关阅读:
    九.Spring Boot JPAHibernateSpring Data
    JIRA安装过程中链接mysql的问题!
    五、案例-指令参考-freemarker指令、表达式
    四、模版指令操作
    三、freemarker数据、模版指令
    二、freemarker.controller半自动静态化+Tomcat虚拟资源映射
    一、springMVC、freemarker页面半自动静态化
    window窗口-button(按钮)-dialog(对话框,带按钮)
    panel面板
    python 给定年份、月份,返回当月对应天数
  • 原文地址:https://www.cnblogs.com/whxiao/p/13220157.html
Copyright © 2011-2022 走看看