redis哨兵模式搭建

先搭建主从结构

当需要运行多个Redis实例时,可以通过为每个实例使用不同的配置文件的方式来实现。

复制redis目录下的redis.conf 文件将其重命名为redis6380.confredis6381.conf,或者将其放到单独文件夹中,这里为了偷懒,简单实现一下选择直接将其复制到与redis.conf同一目录下。然后修改刚刚复制的配置文件。

命令格式:info replication

作用:检查redis节点的状态信息

  • 节点划分策略:根据业务需要要求。
    • 示例:以6379为主机、6380、6381为从机
  • 实现主从挂载
    • 方法通过主从挂载命令完成。
    • 主从挂载命令:slaveof host port
    • 实现过程:
      • 第一步:进入从机客户端,执行主从挂载命令

主从挂载特点:

  • 一个主机可以有多个从机。
  • 一个从机只有一个主机。从机多次执行slaveof命令,每次执行都是更换主机,而不是从机挂载。
  • 主机可以知道所有从机信息、而从机也知道所属主机的信息,而同属一个主机的多台从机之间互不知道。
  • 主从之间的通信只在主--从之间进行,而从--从之间没有通信。
  • 从机只接受主机的写操作,其它的写操作一律不接受;从机可接受所有的读操作。

哨兵机制

  • 原理:
    • 当哨兵工作时会连接redis主机,并通过主机,获取所有从机的信息。
    • 监控主机运行状况
      • 通过心跳检测(ping<---->pong)机制,定时向主机发ping命令,当达到规定次数仍然没有得到主机的pong结果,认定主机宕机。
    • 通过随机算法将从所有从机选举出新主机。
    • 负责剩下的从机重新挂载到新主机上。
    • 当主机恢复后,会做为从机挂载到当前主机上。
  • 哨兵机制的实现
    • 编辑redis.conf文件
    • 编辑sentinel.conf文件
      • 位置:

将此配置文件复制到哨兵的工作目录。

基础配置方法:

另外注意:如果主机有密码的情况下需要找到下面这行配置取消注释并填上主机的密码

复制代码
# masterauth <master-password>
  • 哨兵启动
    • 哨兵的启动
      • 前置条件:sentinel.conf
      • 启动命令:redis-sentinel sentinel.conf
      • 示例:
相关推荐
曲幽6 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
知我Deja_Vu5 天前
redisCommonHelper.generateCode(“GROUP“),Redis 生成码方法
数据库·redis·缓存
Charlie_lll5 天前
Redis脑裂问题处理——基于min-replicas-to-write配置
redis·后端
奇点爆破XC5 天前
Redis迁移
数据库·redis·bootstrap
断手当码农5 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
菜鸟小九5 天前
redis原理篇(基本数据结构)
数据结构·数据库·redis
没有bug.的程序员5 天前
电商秒杀系统深度进阶:高并发流量建模、库存零超卖内核与 Redis+MQ 闭环
数据库·redis·缓存·高并发·电商秒杀·流量建模·库存零超卖
菜鸟小九5 天前
redis原理篇(五种数据结构)
数据结构·数据库·redis
初次攀爬者5 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
June`5 天前
Redis缓存深度解析:20%数据应对80%请求
数据库·redis