一致性哈希速记
2023-09-14 09:01:05 时间
一致性哈希:
【密码学】杂(瞎)谈(聊)哈希函数 本文依然是闲聊,不讲具体的算法内容,来一个小总结,相信大家看过我写过的文章之后,应该对于md系列算法 sha系列算法 sm3等哈希函数比较熟悉了,不熟悉的读者,我再来安利一下我之前写过的文章或者大家也可以去查阅相关的资料,在这里不再重复描述算法的具体内容了,本文呢,针对哈希函数来一个小小的总结,来看一下哈希函数有哪些公共的特性。
一文讲透“布隆过滤器” 布隆过滤器本质上就是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。
漫画:什么是一致性哈希? 未来两年内,系统预估的总订单数量可达一亿条左右。 按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案。
netfocus 对DDD领域驱动设计感兴趣,在.NET/JAVA平台都有多年工作经验。架构方面专注于CQRS/Event Souring/EDA架构的研究和框架开发。热衷于开源,拥有两个个人开源项目:ENode,EQueue
将数据的key的hashcode与存放数据的节点(如缓存节点)的IP(或服务器名)的hashcode都分布到同一个环形数值空间,比如0~2^32-1。然后,把数据的hashcode沿着顺时针方向找第一个存放数据的节点的hashcode,找到的那个就是要存放的节点。
var dataValue = hash(dataKey) % N
var nodeValue = hash(nodeIP) % N
将dataValue沿数值空间顺时针寻找第一个nodeValue,找到的那个对应的node就是要存放数据的节点。
一致性哈希数据不均匀的问题:通过增加虚拟节点的思路,为每个node设计多个虚拟节点(比如100个),虚拟节点可以在物理节点的IP的基础之上加上数字后缀。然后把虚拟节点hash分布到hash环。然后我们先按照上面的一致性哈希思路计算出需要存放的虚拟节点,然后再根据虚拟节点和物理节点的对应关系,找到具体的物理节点。
【密码学】杂(瞎)谈(聊)哈希函数 本文依然是闲聊,不讲具体的算法内容,来一个小总结,相信大家看过我写过的文章之后,应该对于md系列算法 sha系列算法 sm3等哈希函数比较熟悉了,不熟悉的读者,我再来安利一下我之前写过的文章或者大家也可以去查阅相关的资料,在这里不再重复描述算法的具体内容了,本文呢,针对哈希函数来一个小小的总结,来看一下哈希函数有哪些公共的特性。
一文讲透“布隆过滤器” 布隆过滤器本质上就是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。
漫画:什么是一致性哈希? 未来两年内,系统预估的总订单数量可达一亿条左右。 按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案。
netfocus 对DDD领域驱动设计感兴趣,在.NET/JAVA平台都有多年工作经验。架构方面专注于CQRS/Event Souring/EDA架构的研究和框架开发。热衷于开源,拥有两个个人开源项目:ENode,EQueue
相关文章
- 分布式哈希和一致性哈希算法
- 缓存与数据库一致性系列
- 分布式之数据库和缓存双写一致性方案解析
- 分布式系统一致性研究
- 一致性哈希算法及其在分布式系统中的应用(转)
- 【区块链之技术进阶】掰一掰区块链共识机制与分布式一致性算法
- Nginx upstream_consistent_hash 一致性哈希避免大量缓存失效
- Atitti.软件的一些理论补充 Atitti.软件的原理原则定律法则补充 目录 1.1. 分布式领域CAP理论,1 1.2. 关系数据库的ACID模型拥有 高一致性 + 可用性 很难进行分区:
- 常见的一致性哈希算法#Java实现#
- Paxos一致性协议
- 一个经典面试题:如何保证缓存与数据库的双写一致性?
- 分布式环境下的数据一致性问题的方案讨论
- 一致性 Hash 算法 及Java 实现
- 跨库事务一致性问题的解决方式(例)
- 如何基于CANoe 12.0和vTESTstudio完成TC8车载以太网一致性测试?
- 一致性哈希学习
- Raft 为什么是更易理解的分布式一致性算法——(1)Leader在时,由Leader向Follower同步日志 (2)Leader挂掉了,选一个新Leader,Leader选举算法。
- Dynamo涉及的算法和协议——p2p架构,一致性hash容错+gossip协议获取集群状态+向量时钟同步数据
- 彻底理解一致性哈希算法(consistent hashing)
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- BASE原理与最终一致性
- 带上问题来学redis,看到不吃亏(什么是redis?缓存问题、数据一致性、redis配置文件汉化版)
- 《大话处理器》Cache一致性协议之MESI