栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > 架构设计

Nginx负载均衡一致性Hash算法

架构设计 更新时间:发布时间: 百科书网 趣学号

nginx策略分为多个  但普通策略是有缺陷和重大风险的

目录

nginx 轮询策略

nginx权重策略:

ip Hash (哈希算法)

总结  


nginx 轮询策略

根据客户端的来访时间先后进行分发,是默认策略   # 要求各服务器的性能相当,且无法保证单调性

nginx权重策略:

针对服务器运行能力性能高低来区分 根据服务器的权重值尽量按比例分发 (权重越高,承担处理任务越多),且无法保证单调性

  1.  

ip Hash (哈希算法) hash(ip)%n    

#  n为服务器数量   做除法求余,余数为几,就选择第几台服务器

情景:想要获得单调性,前期尽可能使用一台服务器处理同一个客户端的多次请求

当客户端第一次访问a服务器,产生一些类似seeion数据 ,b服务器没有此数据,会发生问题或者使用更多时间资源去获取相同数据。

#问题 当 n的数量出现增加或者宕机 ,  会导致原有的映射关系大量失败,甚至完全无法正常使用

解决方式:一致性哈希算法

 

环形结构 客户端依然使用哈希算法算出值对应放在环形点上 ,把服务器也放在环形结构上,

那 客户端就会寻找它环状前面最近的服务器,  当一台服务器宕掉,后面客户端依旧会寻找最近的服务器,这样会出现均衡性问题

解决方式: 通过计算放置大量的虚拟服务器节点,使服务器的节点分布非常平均,但虚拟机不会分担分发

服务,所以会找到虚拟节点对应的真实服务器,完成分发 ,由于客户端的数量非常多,所以客户端的节点分布也是非常平均,最大的

保证了整个集群的均衡性。

总结  

由于hash算法对于同一个客户端的运算结果必然是相同的,所以,最大化的保障了单调性原则;

由于使用了环形结构,所以在增加或减少服务器时,能尽可能的降低整个环形结构中客户端与服务器的映射关系发生改变导致的影响

,增加了集群的动态伸缩性,使得整个集群的容灾性更强

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1065797.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号