本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置。
文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 周恒《Nginx的细枝末节》
分享者:宜信支付结算八方数据团队高级技术经理 周恒
原文首发于支付结算技术团队公号:野指针
前篇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;}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756