redis哨兵(sentinel)原理
简介 sentinel是redis高可用的解决方案,sentinel系统(N个sentinel实例,N >= 1)可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务下线时,自动将该master下的某个从服务升级为master服务替代已下线的master服务继续处理请求。 1. sentinel初始化 可以使用命令 redis-sentinel /path/to/sentinel.conf 或者 redis-server /path/to/sentinel.conf --sentinel 来启动 sentinel sentinel启动时,需要经过一下几个步骤 a. 初始化服务 sentinel本质上是一个特殊的redis服务,所以初始化的时候跟redis服务初始化差不多,不过有几点不一样;首先sentinel不会载入RDB或者AOF文件,因为sentinel根本不使用数据库,其次,sentinel不能使用数据库键值对方面的命令,例如set、del、flushdb等等,同时,sentinel也不能使用事务、脚本、RDB或者AOF持久化命令,最后,复制命令,发布与订阅命令,文件事件处理器,时间事件处理器等只能在sentinel内部使用。 b. 将普通redis代码转成 sentinel专用代码 将redis服务的代码转成