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

cluster-require-full-coverage

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

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


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

1.查看配置

wKioL1gkJcSSyhE9AACG8fJ1hn0814.png-wh_50

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

redis-cluster 之cluster-require-full-coverage_第1张图片

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

redis-cluster 之cluster-require-full-coverage_第2张图片

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

redis-cluster 之cluster-require-full-coverage_第3张图片




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

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

wKiom1gkK66BW1ImAAB5vivVus0510.png-wh_50

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

redis-cluster 之cluster-require-full-coverage_第4张图片