Redis
集群是一个可以在多个Redis
节点之间进行数据共享的设施installation
。Redis
集群不支持那些需要同时处理多个键的Redis
命令, 因为执行这些命令需要在多个Redis
节点之间移动数据, 并且在高负载的情况下, 这些命令将降低Redis
集群的性能, 并导致不可预测的行为。Redis
集群通过分区partition
来提供一定程度的可用性availability
: 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。Redis
集群免费云主机域名提供了以下两个好处:将数据自动切分split
到多个节点的能力。当集群中的一部分节点失效或者无法进行通讯时, 仍然可以继续处理命令请求的能力。所有的redis
节点彼此互联(PING
–PONG
机制),内部使用二进制协议优化传输速度和带宽。节点的fail
是通过集群中超过半数的节点检测失效时才生效。客户端与redis
节点直连,不需要中间proxy
层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。redis-cluster
把所有的物理节点映射到[0-16383
]slot
上,cluster
负责维护node
slot
value
Redis
集群中内置了16384
个哈希槽,当需要在Redis
集群中放置一个key-value
时,redis
先对key
使用crc16
算法算出一个结果,然后把结果对16384
求余数,这样每个key
都会对应一个编号在0-16383
之间的哈希槽,redis
会根据节点数量大致均等的将哈希槽映射到不同的节点投票过程是集群中所有master
参与,如果半数以上master
节点与master
节点通信超时(cluster-node-timeout
),认为当前master
节点挂掉.什么时候整个集群不可用(cluster_state:fail
)?redis-3.0.0.rc1
加入cluster-require-full-coverage
参数,默认关闭,打开集群兼容部分失败.如果集群任意master
挂掉,且当前master
没有slave
.集群进入fail
状态,也可以理解成集群的slot
映射[0-16383
]不完整时进入fail状态.
如果集群超过半数以上master
挂掉,无论是否有slave
,集群进入fail
状态.
相关推荐: MongoDB for Windows使用批处理文件启动闪退怎么办
今天就跟大家聊聊有关MongoDB for Windows使用批处理文件启动闪退怎么办,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 昨天,一开发同事在自己的电脑上安装了一MongoDB数据库,据说已经…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。