nginx:负载均衡

负载均衡:解决整个服务的可用性

水平扩展:成本最低

基于水平扩展的算法(X轴):Round-Robin算法,least-connected算法

是并不能解决所有问题,比如数据量的问题,当单台应用上的数据已经非常大的时候,无论如何扩展,每一台服务的数据仍然非常大。此时,应该通过另外两种解决方案:从Y轴和Z轴上进行解决

Y轴:(基于URL对功能进行分发)原先由一台服务处理的功能,现在由两台或多台进行处理(需要更改代码,做大量重构,成本高),能解决数据上升问题

Z轴:将用户IP地址或其他信息映射到某个特定的服务或者集群

三个配合使用

加权Round-Robin负载均衡算法(哈希算法,一次性哈希算法,在某种情况下都会退化成Round-Robin)

  缺点:无法保证某一类请求只能由一台服务器去处理

   功能:在加权轮询的方式访问server指令指定的上游服务,集成在nginx的upstream框架中

指令:

  (1)weight:服务访问权重,默认1

  (2)max_conns:server的最大并发连接数,仅用作单worker进程。默认是0,表示没有限制

  (3)max_fails:在fail_timeou时间段内,最大的失败次数。当达到最大失败时,会在fail_timeout秒内这台server不允许再次被选择

  (4)fail_timeout:单位为秒,默认值为10秒。指定一段时间内,最大的失败次数max_fails。到达max_fails后,该server不能被访问的时间

1.upstream指令
语法:upstream name{......}  (name:交由反向代理模块使用。大括号中就是下面的server)

默认:空

放置位置:http

2.server指令

语法:server address[parameters](每个server就是一台服务器,参数用来控制负载均衡的行为。address可以是域名,ip地址或者unix socket。可以在后面加端口,不加默认80)(两个通用参数:backup:指定当前server为备份服务,仅当非备份server不可用时,请求才会转发到该server。down:标识某台服务已经下线

默认:空

放置位置:upstream

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值