什么是哈希算法?
将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法。
而通过原始数据映射之后得到的二进制串就是哈希值。
哈希算法的要求
1.单向。不能从哈希值反推原始数据
2.对输入数据敏感。哪怕是一个bit,输出也要不一样
3.散列冲突概率小 ----- 鸽巢问题引起的
4.高效
哈希算法的应用
安全加密、数据校验、唯一标识、散列函数、负载均衡、数据分片、分布式存储
一致性哈希算法
如果增加一个nodeX的话
一致性哈希算法对于节点的增减都只需重定位环空间中的一小部分数据,具有较好的容错性和可扩展性。
针对一致性哈希算法可能发生的数据倾斜问题,可以采用虚拟结点的方法。即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。