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

    负载均衡用来解决用户请求到来时如何选择 upstream server 进行处理,这里主要介绍几种负载均衡算法。
    1、round-robin:轮询,默认负载均衡算法,即以轮询的方式将请求转发到上游服务器,通过配合weight配置可以实现基于权重的轮询。

    upstream bakend {    
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=1;    
    } 

    2、weight:权重,weight用来配置权重,默认都是1,权重越高分配给这台服务器的请求就越多,需要根据服务器实际处理能力设置权重。

    upstream bakend {    
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=2;    
    } 

    3、ip_hash:根据客户IP进行负载均衡,即相同的IP将负载均衡到同一个upstream server。

    upstream bakend {
    ip_hash;    
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=2;    
    } 

    4、hash key:对某一个key进行哈希或者使用一致性哈希算法进行负载均衡。

    • 哈希算法:此处是根据请求uri进行负载均衡。
    upstream bakend { 
    hash $uri;   
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=2;    
    } 
    • 一致性哈希算法:consistent_key 动态指定。
    upstream bakend { 
    hash $consistent_key consistent;   
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=2;    
    } 

    5、least_conn:将请求负载均衡到最少活跃连接的上游服务器。如果配置的服务器较少,则将转而使用基于权重的轮询算法。

    upstream bakend { 
    least_conn;   
    server 192.168.1.1:8080 weight=1;    
    server 192.168.1.2:8080 weight=2;    
    } 
  • 相关阅读:
    递归函数底层原理浅析
    lambda expression & mutable
    命令mv
    printf的参数
    程序结构之静态本地变量
    汇编.align指令
    程序结构之全局变量
    命令touch
    更改gcc默认版本,实现gcc版本升降级
    命令chmod
  • 原文地址:https://www.cnblogs.com/woods1815/p/13834347.html
Copyright © 2011-2022 走看看