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

    nginx 负载均衡策略

     
    1. 轮询

    轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:

    upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    }

    这种情况是每个server都使用相同的权重,默认值为1

    可以手动设定权重,例如

    upstream backend {
    server backend1.example.com weight=5;
    server backend2.example.com;
    }

    2. 最少连接数

    把请求发送给激活连接数最少的那台服务器

    设置方式

    upstream backend {
    least_conn;

    server backend1.example.com;
    server backend2.example.com;
    }

    3. 最少延时

    把请求发送给连接延时最小的那台服务器

    延时的计算方式有两种:

    (1)header - 从server接收到第一个byte的时间

    (2)last_byte - 从server接收到全部响应的时间

    设置方式

    upstream backend {
    least_time header;

    server backend1.example.com;
    server backend2.example.com;
    }

    4. ip hash

    根据用户IP计算出一个hash值,并记录下来,以后相同hash值的请求都发送到同一个server,同一个用户的请求始终使用同一台服务器,不用担心跨服务器时的session问题

    设置方式

    upstream backend {
    ip_hash;

    server backend1.example.com;
    server backend2.example.com;
    }

    5. 通用hash

    对用户指定的key进行hash计算,可以指定文本、变量或者组合

    设置方式

    upstream backend {
    hash $request_uri consistent;

    server backend1.example.com;
    server backend2.example.com;
    }
  • 相关阅读:
    面试题链接
    75 道 BAJT 高级 Java 面试题,你能答上几道?
    使用UML描述需求都实现的过程
    java面试题(下)
    golang中goconfig包使用解析
    golang中sublime text中配置goimports
    golang中new和make区别
    golang中并发sync和channel
    使用go build 进行条件编译
    golang中time包用法
  • 原文地址:https://www.cnblogs.com/jun1019/p/6260670.html
Copyright © 2011-2022 走看看