2022年4月27日

一致性哈希 分布式扩容问题

摘要: 如果有3台服务器作为分布式存储的负载均衡节点(我们这里不谈备份),三台机子各村一部分数据,理想情况下,各存1/3 存入数据的时候,数据取hash,然后模3,得到0-2,分别对应三台服务器。 查询的时候,同样计算出hash,取模,取对应的机子上取数据。 如果三台机子快满了,需要扩容怎么办?如果数据分布 阅读全文

posted @ 2022-04-27 23:11 zhangyukun 阅读(380) 评论(0) 推荐(0) 编辑

hash 碰撞的2种解决办法

摘要: hash碰撞:hash长度是有限的,比如MD5 但是可以生成哈希的原文远比hash多的多,当两个不同原文算出一样的hashCode的时候,就发现了哈希碰撞 hash碰撞的解决办法总的来说有两种。 1 开放链表法(Java的hashMap 的解决方案) 哈希值取模数组长度,得到应该存放的数组下标的位置 阅读全文

posted @ 2022-04-27 22:51 zhangyukun 阅读(2289) 评论(0) 推荐(0) 编辑

hash 算法计算过程

摘要: MD5(128位) ,sha1(160),sha256(256位) 都是用户hash算法,任意长度的字符串 通过哈希运算以后都会得到一个固定长度的摘要,并且其中任意一个字符的变动都会导致hash完全改变。 用sha1举例:sha1 要求 原文长度低于2^64次方位(很大了,4G 内存是 512M 的 阅读全文

posted @ 2022-04-27 22:28 zhangyukun 阅读(1374) 评论(0) 推荐(0) 编辑

导航