redis-哨兵模式

哨兵模式

是什么

反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票自动将从库转换为主库

准备

配置一主二仆的环境

image-20221123160428617

  • 创建一个sentinel.con

    ​ 并且写入:sentinel monitor mymaster 127.0.0.1 6381 |sentinel monitoe 昵称 host port

启动哨兵模式

命令:redis-sentinel sentinel.conf

image-20221123160945996

流程

  • 主机挂掉

    image-20221123161248731

    sentinel控制台会自动推选出新的主机服务器 选择6382作为主机服务器

image-20221123161945077

image-20221123162208156

而6381(旧主机服务器)重新启动后,会成为6382的从服务器:

image-20221123162459463

流程图如下:

image-20221123163534407

复制延时

由于所有的写操作都是现在master上操作,然后同步更新到slave上,所以从master同步到slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,slave机器数量的增加也会使这个问题更加严重

** 推选新主机服务器的规则**

  • 优先级靠前的

  • 选择偏移量最大的

  • 选择runid最小的从服务器

    优先级在redis.conf中 默认:slave-priority 100 ,值越小优先级越高

    偏移量是指获得原主机数据最全的

    每个redis实例启动后都会随机生成一个40位的runid

image-20221123164058548

posted @ 2022-11-23 16:47  wiselee/  阅读(29)  评论(0编辑  收藏  举报