美文网首页
Nginx五种算法

Nginx五种算法

作者: 青青子衿zq | 来源:发表于2019-08-03 21:38 被阅读0次

1.round robin(默认)

轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。

适用于后台机器性能一致的情况。

挂掉的机器可以自动从服务列表中剔除。

回到顶部

2.weight

根据权重来分发请求到不同的机器中,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。  

例如:  

upstream bakend {   

server 192.168.0.14weight=10;   

server 192.168.0.15weight=10;   

回到顶部

3. IP_hash

根据请求者ip的hash值将请求发送到后台服务器中,可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。

例如:

upstream bakend {   

ip_hash;   

server 192.168.0.14:88;   

server 192.168.0.15:80;   

回到顶部

4.url_hash(第三方)

根据请求的url的hash值将请求分到不同的机器中,当后台服务器为缓存的时候效率高。

例如:

在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法  

upstream backend {   

server squid1:3128;   

server squid2:3128;   

hash $request_uri;   

hash_method crc32;   

tips:  

upstream bakend{#定义负载均衡设备的Ip及设备状态   

ip_hash;   

server 127.0.0.1:9090 down;   

server 127.0.0.1:8080weight=2;   

server 127.0.0.1:6060;   

server 127.0.0.1:7070 backup;   

}

在需要使用负载均衡的server中增加  

proxy_pass http://bakend/;

每个设备的状态设置为: 

1.down 表示单前的server暂时不参与负载

2.weight 默认为1.weight越大,负载的权重就越大。

3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

4.fail_timeout:max_fails次失败后,暂停的时间。

5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

nginx支持同时设置多组的负载均衡,用来给不用的server来使用。

client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug

client_body_temp_path 设置记录文件的目录 可以设置最多3层目录

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡

回到顶部

5. fair(第三方)

根据后台响应时间来分发请求,响应时间短的分发的请求多。

例如:

upstream backend {   

server server1;   

server server2;   

fair;   

参考:https://blog.csdn.net/chenyulancn/article/details/70800991

相关文章

  • Nginx负载均衡配置介绍

    目录 Nginx概述 Nginx调度算法 Nginx指令使用 Nginx负载均衡配置参数 1. Nginx概述 N...

  • Nginx负载均衡、ssl原理、生产ssl密钥对、Nginx配置

    Nginx负载均衡 1、Nginx的负载分发策略Nginx 的 upstream目前支持的分配算法:1)、轮询 —...

  • Nginx之负载均衡不同算法应对不同场景

    在本博客的Nginx负载均衡里,我提到了weight这样负载均衡的算法,其实Nginx负载均衡的算法还有以下几种有...

  • Nginx (4)

    Nginx之负载均衡 Nginx 通过Upstream 模块进行负载均衡。 upstream 支持的负载均衡算法N...

  • nginx加权轮训算法

    nginx加权轮训算法 nginx upstream负载均衡默认采用轮训方法 这里暂且将三台server服务器叫做...

  • 分布式集群架构场景化解决方案

    一致性hash算法hash算法应用场景普通hash算法存在的问题一致性hash算法手写一致性hash算法nginx...

  • Nginx中的负载均衡算法

    负载均衡算法 轮询(Round Robin)nginx默认负载均衡算法,可以配合权重使用,默认情况权重是1。ups...

  • nginx轮询算法

    首先声明,写这个主要是因为最近同事面试的时候,面试官题了一个问题,是关于负载均衡的。以及负载均衡中轮询算法的具体实...

  • nginx限流算法

    1 限流算法 1.令牌桶 算法思想:*令牌以固定速率产生,并缓存到令牌桶中;*令牌桶放满时,多余的令牌被丢弃;*请...

  • 20年第35周:Nginx负载均衡的实现

    一、目录 ① 负载均衡算法 ② Nginx负载均衡简单实现 二、负载均衡算法 本质:无非是按劳分配,还是按需分配。...

网友评论

      本文标题:Nginx五种算法

      本文链接:https://www.haomeiwen.com/subject/sjhudctx.html