现在我们使用的Redis是单机的,单机的Redis存在单点故障的问题,
所以Redis提供了主从复制的方案。
1、主从复制
Redis的复制功能支持多个数据库之间的数据同步。
通过Redis的复制功能可以很好的实现数据库的 读写分离,提高服务器的负载能力。
主数据库(Master)主要进行写操作,而从数据库(Slave)负责读操作。
一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
看这个图
这个就是redis的主从复制架构
master节点,是主数据库,负责写操作,下面的3个slave节点是从数据库,负责读操作。
当我们把数据写入到master节点之后,master节点会把数据同步给下面的3个从节点。
这就是Redis的主从复制架构。
这种架构其实存在一个问题,如果主节点挂了,从节点是无法自动切换为主节点的。所以这个时候只能读数据,不能写数据。这样肯定还是存在单点故障的。
所以redis在这个架构的基础上又提供了sentinel 哨兵机制。
2、Sentinel 哨兵机制
这个sentinel哨兵机制提供了三个功能
1、监控:Sentinel实时监控主服务器和从服务器运行状态