redis集群模式

2021-02-20  本文已影响0人  skipper_shou

前言

因为之前线上redis集群主从切换,client端未感知,导致往从库写数据报错,所以学习并整理了redis集群相关知识点。

主从复制

主从复制,是只从一台redis服务器的数据,复制到其他的一台或者多台redis服务器上。
前者为主节点(master),后者为从节点(slave)。
数据的复制只能从主节点到从节点。
主从复制主要起到以下几个作用:

如下图,即为主从复制的整个过程:


redis主从复制.png

主从复制的注意点:

哨兵模式

在主从复制的基础上,引入了哨兵模式,提供了高可用解决方案,可以在没有人工干预的情况下实现故障恢复能力。
哨兵是一个独立的进程,监控各个节点的监控状态。
客户端通过连接sentinel来获取对应redis的主从节点。
哨兵模式主要起到以下几个作用:

扩展:我们公司通过对redis的扩展,一组sentinel里面连接了多个master,对key通过一致性hash来获取对应的分片,从而实现负载均衡。

redis sentinel集群.png

sentinel常用配置:

sentinel常见命令:

sentinel集群 master下线.png
发布/订阅消息列表

呼应前言,之前线上出现,手动failover的时候,客户端没有感知主从切换,导致始终往老的主节点写数据,此时老的主节点已经变成从节点,写入报错。
经排查,是因为线上redis配置了7个sentinel,其中4个不可用,而quorum为2,这导致,当2个sentinel节点同意主节点不可用,尝试开始故障转移,但是没有至少4个sentinel节点授权并开始,所以sentinel就不会开始故障转移,也就不会publish相关消息,导致客户端不感知。

集群模式

待完善

上一篇 下一篇

猜你喜欢

热点阅读