目录
一、什么是哨兵模式
二、配置哨兵
三、启动哨兵
四、验证哨兵
五、复制延时
六、选举策略
一、什么是哨兵模式
哨兵也叫 sentinel,它的作用是能够在后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。
二、配置哨兵
首先停止三台 Redis 服务。
redis-cli shutdown
然后再重新启动三台 Redis 服务器,并实现一主双从。
最后在 /rediscluster 目录下新建 sentinel.conf 文件,文件名称不能写错,必须叫这个名称。
rediscluster]# vim sentinel.conf
内容如下:
sentinel monitor redismaster 127.0.0.1 6379 1
参数说明:
monitor:监控
redismaster:为监控对象起的服务名称
1:为至少有多个个哨兵同意迁移的数量
哨兵进行投票: 一个哨兵也可以有多个哨兵
三、启动哨兵
执行如下命令来启动哨兵:
rediscluster]# redis-sentinel sentinel.conf
四、验证哨兵
我们把主服务器停止:
127.0.0.1:6379> shutdown
这时,哨兵就会介入,并进行选举,然后把选举成功的从面切换为主机。
如果我们把 6379 重新启动,则它会变为从机。
127.0.0.1:6379> info replication
五、复制延时
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
六、选举策略
-
选择优先级靠前的服务器。优先级的配置在 redis.conf 文件中的
replica-priority
配置,默认为 100,值越小优先级越高。 -
选择偏移量最大的。偏移量是指获得原主机数据最全的。
-
选择 runid 最小的从服务器。每个redis实例启动后都会随机生成一个40位的runid。