1. 是什么
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库
2. 怎么玩(使用步骤)
2.1 调整为一主二仆模式,6379带着6380、6381
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6381,state=online,offset=20678,lag=1
slave1:ip=127.0.0.1,port=6380,state=online,offset=20664,lag=1
127.0.0.1:6380> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:20678
slave_priority:100
slave_read_only:1
connected_slaves:0
127.0.0.1:6381> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_repl_offset:20692
slave_priority:100
slave_read_only:1
connected_slaves:0
2.2 自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错
2.3 配置哨兵,填写内容
sentinel monitor mymaster 127.0.0.1 6379 1
其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。
2.4 启动哨兵
执行redis-sentinel /myredis/sentinel.conf
2.5 当主机挂掉,从机选举中产生新的主机
(大概10秒左右可以看到哨兵窗口日志,切换了新的主机) 哪个从机会被选举为主机呢?根据优先级别:slave-priority 原主机重启后会变为从机。
2.6 复制延时
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
3. 故障恢复
优先级在redis.conf中默认:slave-priority 100,值越小优先级越高
偏移量是指获得原主机数据最全的
每个redis实例启动后都会随机生成一个40位的runid