Nginx负载均衡的5种策略(转载)

Nginx的upstream目前支持的5种方式的分配

  1. 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 upstream backserver { server 192.168.0.14; server 192.168.0.15; }
  2. 指定权重 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 upstream backserver { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }
  3. IP绑定 ip_hash 每个请求按访问ip的hash结果分配(可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个),这样每个访客固定访问一个后端服务器,可以解决session的问题。 upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
  4. fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 upstream backserver { server server1; server server2; fair; }
  5. url_hash(第三方) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 upstream backserver { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32; }

使用

  1. 在需要使用负载均衡的server中增加 proxy_pass http://backserver/; upstream backserver{ #定义负载均衡设备的Ip及设备状态 ip_hash; server 10.0.0.11:9090 down; server 10.0.0.11:8080 weight=2; server 10.0.0.11:6060; server 10.0.0.11:7070 backup; } upstream还可以为每个设备设置状态值,这些状态值的含义分别如下: down 表示单前的server暂时不参与负载. weight 默认为1.weight越大,负载的权重就越大。 max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误. fail_timeout : max_fails次失败后,暂停的时间。 backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

本文转自:nginx负载均衡的5种策略(转载) 如需转载请注明出处:https://www.cnblogs.com/zhuchenglin/p/9750970.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的碎碎念

php防止用户重复登录

先来理解一下session的几个设置: ini_set('session.auto_start',0); 设置关闭session的自动启动 ini_set('...

68370
来自专栏知晓程序

开发 | 网络接口全攻略!这些技巧,让你的小程序永不「失联」

微信为小程序提供了 4 个接口,供小程序访问网络。如果你刚开始接触小程序开发,也许会对小程序网络访问产生不少的疑问。

14140
来自专栏源哥的专栏

开发统一的博客接口

现在博客很流行,很多人都在使用博客,有些人同时拥有几个不同的博客网站,不知你有没有这样的烦恼,就是你写了一篇文章,这时想传到不同的博客网站上去,就得打开不同的...

10130
来自专栏狂码一生

centos-7绑定静态ip、配置网关、配置DNS、查看网络服务相关信息

一、配置静态IP     >vim /etc/sysconfig/network-scripts/ifcfg-ens33     将 BOOTPROTO=dh...

496130
来自专栏搜云库

CentOs6.5 修改主机名

CentOs6.5 修改主机名 CentOs6.5 系统安装好后,都会有默认的主机名:localhost.localdomain,修改主机名步骤如下 1.修改n...

45370
来自专栏Java技术栈

微信扫码登录是如何实现的?

网页版微信刚推出时,无数人被它的登录方式惊艳了一下,不需要输入用户名密码,打开手机微信扫一扫,便自动登录。从原理上讲,二维码只能是一段文本的编码,如何用它实现快...

39540
来自专栏腾讯Bugly的专栏

移动 H5 首屏秒开优化方案探讨

导语 随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端...

89550
来自专栏前端开发

jsonp介绍与jsonp封装

75650
来自专栏日常学python

30行Python代码实现自动收发邮件

生活或者工作中我们经常容易忘记一些事情,这时候我们需要借助一些事物来提醒我们。读者中应该有很多运维攻城狮和测试攻城狮,服务器有异常时需要提醒我们,自动化测试执行...

26930
来自专栏qqqqq

腾讯云弹性网卡绑定多IP利用外网访问教程

1.4K10

扫码关注云+社区

领取腾讯云代金券