redis集群的插槽问啥是16384个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis集群的插槽问啥是16384个相关的知识,希望对你有一定的参考价值。

参考技术A 作者原话,关注下。
1、普通心跳数据包携带节点的完整配置,该配置可以用旧配置以幂等方式替换,以便更新旧配置。这意味着它们包含原始形式的节点的槽配置,16k的槽配置需要使用2k内存空间,但是使用65k槽将使用8k的内存空间。
2、同时,由于其他设计折衷,Redis集群不可能扩展到超过1000个节点。
因此,16k是比较合适的,可以确保每个主设备有足够的槽,最大为1000个。redis的node配置信息通过位图存储传输的,传输前有一个压缩过程,压缩比跟槽个数和节点数有很大关系(because
when
N
is
small
the
bitmap
would
have
slots/N
bits
set
that
is
a
large
percentage
of
bits
set.)【槽数量/节点数】当这个N越大,压缩比就越小。

redis-cluster 之cluster-require-full-coverage

在配置redis集群中,有个配置叫做

cluster-require-full-coverage

下面针对这个配置做详细讲解

本文仅对三个节点的集群环境进行论证,多于三个节点的集群需要再次进行论证。


当cluster-require-full-coverage为no时,表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用,下面论证该情况。

1.查看配置

技术分享

2.所有从库宕机,不可进行故障恢复,此时集群仍正常服务。

技术分享

3.其中一个主节点宕机,此时为故障主节点正常服务,当key值位于故障节点的插槽时,无法进行正常操作,此时需要退出重连后才可进行对正常服务的主节点操作。

技术分享

4.当两个主节点都宕机时,集群停止服务。

技术分享




当cluster-require-full-coverage为yes时,表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群不可用,下面论证该情况。

1.查看配置情况,为yes。

技术分享

2.有一个主节点宕机是,无从节点进行故障恢复,此时整个集群不可用。

技术分享


本文出自 “浮生凤年” 博客,请务必保留此出处http://liuzhanbin.blog.51cto.com/10060150/1871514

以上是关于redis集群的插槽问啥是16384个的主要内容,如果未能解决你的问题,请参考以下文章

为啥redis集群的最大槽数是16384个?

redis集群

Redis集群搭建

Centos7.x Redis6.2.5 Cluster搭建

Redis hash槽分配

redis集群版slot原理精华