哈希算法简单举例,哈希算法最简单的解释

首页 > 经验 > 作者:YD1662022-11-18 03:00:48


一致性哈希-节点雪崩

虚拟节点

那该如何解决上述两个棘手的问题呢?可以通过「虚拟节点」的方式解决。

所谓虚拟节点,就是对原来单一的物理节点在哈希环上虚拟出几个它的分身节点,这些分身节点称为「虚拟节点」。打到分身节点上的数据实际上也是映射到分身对应的物理节点上,这样一个物理节点可以通过虚拟节点的方式均匀分散在哈希环的各个部分,解决了数据倾斜问题

由于虚拟节点分散在哈希环各个部分,当某个节点宕机下线,他所存储的数据会被均匀分配给其他各个节点,避免对单一节点突发压力导致的节点雪崩问题。

下图展示了虚拟节点的哈希环分布,其中左边是没做虚拟节点情况下的节点分布,右边背景色绿色两个的 node0 节点是 node0 节点的虚拟节点;背景色红色的 node1 节点是 node1 的虚拟节点。

哈希算法简单举例,哈希算法最简单的解释(17)


一致性哈希-虚拟节点

总结一下

本文首先介绍了什么是哈希算法和常见的哈希算法,以及常见散列方式,接着说明基于普通哈希算法的缓存负载均衡实现,并举例说明普通算法的扩展性和容错性方便存在的问题。

为了解决普通算法的扩展性和容错性问题引入一致性哈希算法,图解和举例分析了一致性哈希是如何提高扩展性和容错性。最后粗糙的一致性哈希算法也存在数据倾斜和节点雪崩的问题,讲解了如何利用虚拟节点优化一致性哈希算法,解决数据倾斜和雪崩问题。至此,一致性哈希你学会了吗?

再聊两句(求个三连)

感谢各位的阅读,文章的目的是分享对知识的理解,技术类文章我都会反复求证以求最大程度保证准确性,若文中出现明显纰漏也欢迎指出,我们一起在探讨中学习。

今天的技术分享就到这里,我们下期再见。


原创不易,不想被白票,如果觉得文章写的还行,对你有所帮助,动动手指「点赞」或给「转发」是对我持续创作的最大支持。

文章每周持续更新,可以微信搜索公众号「 后端技术学堂 」提前看,我们下期见!

哈希算法简单举例,哈希算法最简单的解释(18)

可以微信搜索公众号「 后端技术学堂 」回复「资料」「1024」有我给你准备的各种编程学习资料。文章每周持续更新,我们下期见!

,
上一页12345末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.