redis请求路由算法策略

本文介绍了Redis请求路由的策略,包括按范围路由、哈希后按节点取模和一致性Hash。重点讲解了一致性Hash的原理和解决节点变更造成的问题,并详细阐述了Redis 3.0的Hash槽机制,解释了为何选择16384个槽的原因。通过这种方式,文章揭示了如何在Redis集群中实现高效的数据分布和路由。
摘要由CSDN通过智能技术生成

redis请求路由

redis3.0后官方集群方案 节点路由通过哈希槽实现

在介绍哈希槽之前,先带着几个问题进入,正所谓,深入一点,会更美好

  1. 有几种常用的路由算法
  2. 哈希槽具体怎么实现
  3. 为什么redis要选择哈希槽

首先,我们来看 有几种常用的路由算法

按范围路由

例如:有1——100的key,A,B,C,D四个节点。按key值将1——25分布到A节点,26——50分布到B节点,51——75分布到C节点,76——100分布到D节点。
这个算法策略有几个限制:

  1. 因为是顺序范围的,所以key必须是数字。
  2. 节点分配不够灵活。新增删除是需要大量转移。
  3. 可能会造成热点节点的问题,因为是按真实的key值,可能会存在某段key值相对集中,而其他段key值很松散。举个例子有1,6,11,16,17,18,19,20。这个8个key值,从1——20,按范围分布到4个节点,则1落到A节点。6落到B节点。11落到C节点。而16,17,18,19,20全部集中落到D节点。这样就造成了热点节点的问题。
hash后按节点取模

这种路由算法策略,通过将key值做hash后变为数值,然后将这个数值与节点数取模,从而判断具体key应该存放到哪个节点上。
相对于 按范围路由 有几个优点

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值