hash crc32_一致性Hash

一致性Hash是在分布式环境中用于均衡负载的一种算法,通过CRC32等哈希算法将服务节点映射到数据环上。当增删节点时,只需局部调整,避免大规模重分布。然而,单一节点可能导致数据倾斜,通过引入虚拟节点来改善分布均匀性。文中提供了一个简单的Java实现示例。
摘要由CSDN通过智能技术生成

概念:

分布式环境下,通过将某个服务节点(其他资源也一样)进行hash运算后映射到一个数据环上(一般大小为2的32次方),之后请求访问节点时按照顺时针选取最近的节点。

特性:

1)平衡性(Balance)
2)单调性(Monotonicity)
3)分散性(Spread)
4)负载(Load)
5)平滑性(Smoothness)

hash算法:crc32_hash、fnv1_32_hash、ketama_hash、谷歌jump consisent hash

成环:

e536abb9094393a55334e03984773e5d.png
一致性构成的环

解决的问题:

1)避免新增或删除时需要重新分配资源。

存在问题:

1)节点分布不均匀,请求可能落到某一个范围,或者集中在某一个节点上,或者节点分布在环上很不均匀,数据倾斜问题。

解决不均匀:添加虚拟节点,即对物理节点进行虚拟出多个节点,一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值