卡飞资源网

专业编程技术资源共享平台

一分钟了解redisCluster不可用及高可用

前言

对上《一篇一分钟了解消息送达及幂等操作》中消息前置持久化用到redis这个点可能存在丢消息的补充

一、概述

redis集群其实是多个主从节点组成的集群,某个节点可以是一主一从或者一主多从

二、集群节点存活判断

每个节点都有集群所有主从节点的信息,他们之间通过ping来判断是否可用,如果一半以上节点都连不上,集群就认为这个节点不可用

三、集群挂掉判定

3.1 某个主节点和从节点都挂掉,集群就挂掉

3.2 某个主节点挂掉没有slave或者slave没有切换到master,集群挂掉

3.3 半数以上master挂掉,集群挂掉

四、高可用

集群中的每个节点都有1至n个从节点,其中一个为主节点,其余的为从节点。如果主节点下线了,集群就会把这个主节点的一个从节点设置为新的主节点,这样集群就不会因为一个主节点的下线而无法正常工作。

五、一致性hash算法与hash槽

redis cluster没有使用一致性hash算法,so “三、集群挂掉判定”这个成立。 用的是hash槽分配,这个也是核心,如下图redisCluster官方文档说明

本人实战过程中遇到的问题

宿主机宕机,当时一主一从,主的宿主机挂了,手动切slave为主,并且快速搭建了新的从,slave of挂上,数据恢复10s内,当时内存在2~3g,整体性能还是非常可靠的

后面看排期会深入介绍Redis各细节的点,刷到的对redis有疑问的可以私信

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言