Redis主从、哨兵、 Cluster集群一锅端!

2022-05-23 15:43:56 浏览数 (2)

前言

今天跟小伙伴们一起学习Redis的主从、哨兵、Redis Cluster集群。

  • Redis主从
  • Redis哨兵
  • Redis Cluster集群

1. Redis 主从

面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失,或者说尽量减少丢失;另外一个就是保证Redis服务不中断

  • 对于尽量减少数据丢失,可以通过AOF和RDB保证。
  • 对于保证服务不中断的话,Redis就不能单点部署,这时候我们先看下Redis主从。

1.1 Redsi主从概念

  • Redis主从模式,就是部署多台Redis服务器,有主库和从库,它们之间通过主从复制,以保证数据副本的一致。
  • 主从库之间采用的是读写分离的方式,其中主库负责读操作和写操作,从库则负责读操作。
  • 如果Redis主库挂了,切换其中的从库成为主库。

1.2 Redis 主从同步过程

Redis主从同步包括三个阶段。

第一阶段:主从库间建立连接、协商同步。

  • 从库向主库发送psync 命令,告诉它要进行数据同步。
  • 主库收到 psync 命令后,响应FULLRESYNC命令(它表示第一次复制采用的是全量复制),并带上主库runID和主库目前的复制进度offset

第二阶段:主库把数据同步到从库,从库收到数据后,完成本地加载。

  • 主库执行bgsave命令,生成RDB文件,接着将文件发给从库。从库接收到RDB 文件后,会先清空当前数据库,然后加载 RDB 文件。
  • 主库把数据同步到从库的过程中,新来的写操作,会记录到replication buffer

0 人点赞