网站首页 > 精选教程 正文
上一篇文章 Nginx负载均衡之ip hash与hash模块,弥补Round-Robin的缺陷我们介绍了upstream_hash算法,可以按一定的条件 将固定的请求转发到固定的server上。
有遇到一个问题,当上游服务器出现问题的时候,或者扩容的时候会产生什么样的情况。
假如有5台上游服务器,server0 …… server4, 请求根据key进行取模 hash算法: 为key % 5
会产生如下结果:
key5 被upstream到 server0上。
……
key9 被upstream到 server4上。
当server4挂掉了后,原本美好的事情就变成这样:
hash算法:key%4
key5 被upstream到 server1上。
key6 被upstream到 server2上。
key7 被upstream到 server3上。
key8 被upstream到 server0上。
key9 被upstream到 server1上。
这一下就全都打乱了,如果上游服务器有缓存的话,会导致大批量缓存失效的问题。有可能会导致比较严重的事故。
那么一致性hash算法可以有效缓存这种问题。
假设扩容前有4台服务器,均匀地分布在一个环上。
我们的请求key 经过hash算法是0到2的32次方也是均匀的分布在环上,就去找下一个比它大的Node。
当需要扩缩容的时候只会影响两个Node中间的请求。这就尽可能的减少了影响范围。
比如现在在Node2 和Node4之间增加了一个节点Node5。
可以看到原来Node2 到 Node4之间的5个请求,只影响了3个key的请求,只有这3个请求的缓存没有命中了被请求到了Node5上。
当然这并没有解决宕机后的路由不发生变化,都宕机了也无法解决。
使用配置:只需要在hash模块后 加上 consistent就可以了
Syntax: hash key [consistent];
Default: —
Context: upstream
猜你喜欢
- 2025-06-15 绿色清新教培行业年终工作总结PPT课件模板,需要收藏下载
- 2025-06-15 PPT模板「第0004期」清新水墨画风格,可下载直接用
- 2025-06-15 PPT 139 | 粉色渐变小清新春暖花开PPT模板
- 2025-06-15 【778期】38套清新雅致的通用PPT模板
- 2025-06-15 清新企业培训商务PPT模板(企业培训课件ppt)
- 2025-06-15 第1340期—淡雅简洁蓝绿清新扁平化工作计划ppt模板
- 2025-06-15 需要吗?第1254期:清新薄荷绿部门工作总结PPT模板
- 2025-06-15 3分钟搞定PPT!打工人必备的一键制作PPT全攻略
- 2025-06-15 GYB逐字稿 第11课 完成企业想法和计划 《产生你的企业想法》课件PPT
- 2025-06-15 两分钟!用DeepSeek制作ppt。(用deepseek和什么可以做ppt)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)