Nginx专题(2):Nginx的负载均衡策略及其配置-创新互联

本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置。

文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 周恒《Nginx的细枝末节》

创新互联主要从事网站设计制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务临河,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

分享者:宜信支付结算八方数据团队高级技术经理 周恒

原文首发于支付结算技术团队公号:野指针

前篇 Nginx专题(1):Nginx之反向代理及配置详细介绍了Nginx功能之一——反向代理。本篇文章将重点介绍Nginx功能之二——负载均衡。

为了增加对负载均衡的好感,我们先了解负载均衡能实现什么。

  • 将多个服务器节点绑定在一起提供统一的服务入口。
  • 故障转移,在意外发生的时候,可以增加一层保险,减少损失。
  • 降低上线运维复杂度,实现平滑上线。运维和开发同学都喜欢。

下面正式进入主题。

一、Nginx的负载均衡策略

负载均衡就是将请求“均衡”地分配到多台业务节点服务器上。这里的“均衡”是依据实际场景和业务需要而定的。

对于Nginx来说,请求到达Nginx,Nginx作为反向代理服务器,有绝对的决策权,可以按照规则将请求分配给它知道的节点中的一个,通过这种分配,使得所有节点需要处理的请求量处于相对平均的状态,从而实现负载均衡。

Nginx支持的负载均衡策略很多,比较重点的如下:

  • round robin(轮询)
  • random(随机)
  • weight(权重)
  • fair(按响应时长,三方插件)
  • url_hash(url的hash值)
  • ip_hash(ip的hash值)
  • least_conn(最少连接数)

这么多的策略,非常不利于记忆和选择,我们不妨将这些常见的策略归类,分而化之,方便挑选。

第一类 最佳实现

  • weight(权重)
  • random(随机)

最佳实践,其实就是最常见、最普通的默认配置,当然也是在一定程度上最好用的配置。不知道用什么方式的时候,就可以选择用这一类型。

轮询不用多说。这里的随机,其实在大量请求的情况下,按照概率的理论等同于轮询的方式。

轮询配置参考:

#默认配置就是轮询策略
upstream server_group {
   server backend1.example.com;
   server backend2.example.com;
}

标题名称:Nginx专题(2):Nginx的负载均衡策略及其配置-创新互联
转载源于:http://scyanting.com/article/pdepe.html