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

    负载均衡:
    一听这词很多小伙伴吓坏了,前人就喜欢搞一些看起来很高大上的词,好让后生望而敬畏.那我们一起来捋一捋. 负载就是负担. 均衡就是平均分.这样 一说就是负担平均分.

    服务器也要减减压
    我们都知道服务器是第三产业,服务行业,客户来了,你不能不服务.客户少还行,客户多了一台服务器就顶不住了,怎么办?我们找来多台服务器,让这些服务器去均分客户然后服务响应.或者让某些服务器只干一类时,来提高效率.
    那么如何让我们的代理服务器知道哪些服务器是可以去干活的,而且擅长干什么活呢?这个时候就需要我们去配置了.

    编辑nginx.conf文件(注意 upstream {} 配置信息必须在 Server {} 配置的外部,不是 Server {} 的里面)

    upstream group1{

    server 127.0.0.1:80 weight=10 max_fails=2 fail_timeout=30s;

    server 192.168.0.12:81 weight=1 max_fails=2 fail_timeout=30s;

    }

    server {

    listen 9000;

    server_name localhost;

    default_type text/html;

    location / {

    echo "hahh";

    }

    location = /a/ {

    #echo "= /a";

    proxy_pass http://group1/;

    }

    location ^~ /a {

    echo "^~ /a";

    }

    location ^~ /a/b {

    echo "^~ /a/b";

    }

    location ~ ^/\w {

    #echo "~ ^\w";

    proxy_pass http://127.0.0.1:80;

    }

    location ~ ^/[a-z] {

    echo "~ ^[a-z]";

    }

    }

    说明:

    1. weight的值越大,表明这台服务器办事效率高,老板喜欢,有事了,找他的概率大.
    2. max_fails要说明的是,你找这台服务器办事,叫他2次如果还不理你,你不要对他报以希望了.
    3. fail_timeout要说的是,给这台服务器一件小事让它办,30s还没办完,算了,不靠谱,不要等了,找其他人吧.

    Nginx中的几种负载均衡方式

      1. 轮询(默认)
        每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
      2. weight
        指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
      3. ip_hash
        每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
      4. fair(第三方)
        按后端服务器的响应时间来分配请求,响应时间短的优先分配。
      5. url_hash(第三方)
        按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
  • 相关阅读:
    FPGA 在线调试方法概述
    Quartus II& Nios II 出错解决办法
    Verilog HDL--VGA显示
    常用电平转换方案
    Verilog HDL SPI通信——读
    Verilog HDL SPI通信——写
    Verilog HDL串口发送程序
    verilog HDL 串口接受程序
    关于AFNetworking中header的bug问题
    iOS项目的本地化处理(多国语言)
  • 原文地址:https://www.cnblogs.com/ithubb/p/13261672.html
Copyright © 2011-2022 走看看