问题
💬 Question 1
Q:Redis集群有那些方案?
A:在Redis中提供了三种集群方案即主从复制、哨兵模式、Redis分片集群。
💬 Question 2
Q: 介绍一下主从复制集群方案?
A:单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。一般是一主多从,主节点负责写数据,从节点负责读数据,主节点写入数据之后,需要把数据同步到从节点中。。
💬 Question 3
Q:介绍一下主从数据同步的流程?
A:主从服务分为两个阶段,一个是全量同步,一个是增量同步。从节点请求同步数据,携带replication id和offset,若replication id与主节点replication id不一致,则表明这是第一次与主节点进行连接,此时会使用全量同步,主节点会将自身的replication id和offset发送给从节点,然主从节点信息保持一致,同时主节点会执行bgsave,生成rdb文件后,发送给从节点执行,从节点会先把自己的数据清空,然后执行主节点发送过来的rdb文件,这样就保持了一致。同时,主节点还会将生成 RDB 期间新写入的命令记录在缓冲区,最后把这个缓冲日志文件发送给从节点,这样就能保证主从节点完全一致了,后期再同步数据的时候都是依赖于这个日志文件。增量同步指的是从节点服务重启之后,数据就不一致了,这个时候从节点会请求主节点同步数据,检测到不是第一次连接后,就会根据从节点的offset值获取日志中offset值之后的数据,发送给从节点进行数据同步。