redis篇之哨兵模式

一、简介

 所谓的哨兵模式就是redis主从复制的自动版,可以理解为主从复制是手动挡,节点挂了得手动维护;哨兵模式,则监控主机是否正常,不正常,根据投票自动将从机升为主机。
redis篇之哨兵模式_第1张图片
哨兵模式,master宕机后恢复的变化
redis篇之哨兵模式_第2张图片

二、配置哨兵

 这里为了简单只配置一个哨兵,时间生产环境可能多个,且哨兵占用资源极小。在redis启动目录bin下创建sentinel.conf,配置如下:

sentinel monitor master IP 6379 1
sentinel auth-pass master yourpassword

上述的master随便自定义,最后的数字1表示有几个哨兵同意主机宕机了,这里只有一个哨兵就写个1,如果您的master要求认证密码请输入你密码,否则哨兵连接不上也不报密码错误

  1. 启动哨兵
    显示哨兵知道master上连接上两个slave
    redis篇之哨兵模式_第3张图片
  2. 关闭master
    关闭master后哨兵不上立即切换主从,而是等待几秒,在从slave中找一个切换为master

三、故障恢复策略

  1. 选择优先级靠前的slave,具体在slave的redis.conf可以配置
  2. 选择数据较多的slave
  3. 选择runnid最大的slave(每个slave启动均会有一个40位的runnid)

四、java端如何连接

new JedisSentinelPool("master",set,config);

解释:第一个参数就是你配置的哨兵监听主机的名称;第二个参数是哨兵集合,原则上随便一个哨兵都可以,建议都加上,防止单个哨兵故障,拿不到redis连接;第三个参数就是所有线程池都有的配置,如连接最大空闲时间等。

你可能感兴趣的:(redis篇之哨兵模式)