文章目录
- 主从同步
- 哨兵模式
在Redis中提供的集群方案总共有三种:主从同步、哨兵模式、Redis分片集群
主从同步
主从解决的是高并发问题。
单个Redis节点的并发能力有限,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。主节点负责写入数据,从节点负责读数据,主节点把数据同步到从节点中。
主从同步的流程:
我们先来了解两个概念:
全量同步:主节点会将当前数据库的完整状态发送给从节点,通常通过发送一个数据库快照(如 Redis 中的 RDB 文件)来实现。
增量同步:主节点只传输自上次同步以来的写操作记录给从节点,从节点根据这些记录来更新自身的数据状态。
1。从节点和主节点建立连接,并把replication id和offset偏移量发送给主节点
2。主节点接收replication id和offset偏移量,根据replication id不同发现是第一次同步,是第一次同步就会把自身replication id和offest发送给从节点让主从信息保持一致,与此同时,主节点会执行bgsave,生成rdb文件后发送给从节点,进行一次全量同步。
3。之后同步数据都是增量同步,从节点把自身offset偏移量发送给主节点,主节点对照自身的offest从命令日志中获取offset值之后的数据,发送给从节点进行数据同步。
从节点重启之后也会执行增量同步
哨兵模式
哨兵模式解决的是redis的高可用性问题。(高可用性是指系统能够在长时间内正常运行而不中断的能力)
哨兵模式可以实现主从集群的自动故障恢复,如果master故障,哨兵会将一个从节点提升为主节点。