1、Redis 中的主库发生故障之后,会有什么影响?
如果是 Redis 中的从库故障了,并不影响对客户端提供服务,客户端可以向主库或者是其他从库发送请求,但是如果是主库发生了故障,虽然客户端的读请求可以发送给从库来执行操作,但是由于 Redis 的读写分离的机制,客户端的写操作必须交给主库来执行,同时主库的故障断开了与从库之间的数据同步,那么之后从库与那个数据进行数据库同步又是个问题。
2、主库故障之后,Redis 采取什么样的机制来解决?
对于主库可能发生故障的可能,Redis 利用哨兵机制来解决该问题。
3、哨兵机制能有什么功能,如何解决主库故障的场景?
哨兵机制提供的三个功能:(哨兵机制是实现主从库切换的关键机制)
- 判断主从库是否下线(监控)
- 当判断主库客观下线之后,选择一个合适的从库来替代主库(选主)
- 通知客户端及其其他从库最新的主库的相关信息,让其他从库与主库建立起连接(通知)
4、哨兵机制如何进行对主从库是否下线的监控的?
- 哨兵周期性向主从库发送 PING 命令,用于判断哨兵与主从库之间的网络连接状态,判断数据库是否处于在线状态,其中对于主从库判断其是否下线的措施不一样。
- 由于如果是从库下线了,其影响并不是很大,不会影响主库向客户端提供服务,因此,如果当哨兵向从库发送 PING 命令之后,如果从库