Redis如何部署哨兵

 更新时间:2023年07月31日 11:30:22   作者:Liu_Fang_Hong  
本文主要介绍了Redis如何部署哨兵,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、Redis数据库

  • 主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
  • 哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制;哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。
  • 集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

二、Redis哨兵模式

哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移。

#哨兵模式原理:哨兵(sentinel):是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的 Master 并将所有 Slave 连接到新的 Master。所以整个运行哨兵的集群的数量不得少于3个节点。

哨兵模式的作用:

  • 监控:哨兵会不断地检查主节点和从节点是否运作正常。
  • 自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。
  • 通知(提醒):哨兵可以将故障转移的结果发送给客户端。

哨兵结构由两部分组成,哨兵节点和数据节点:

  • 哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
  • 数据节点:主节点和从节点都是数据节点。

哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式,所有节点上都需要部署哨兵模式,哨兵模式会监控所有的 Redis 工作节点是否正常,当 Master 出现问题的时候,因为其他节点与主节点失去联系,因此会投票,投票过半就认为这个 Master 的确出现问题,然后会通知哨兵间,然后从 Slaves 中选取一个作为新的 Master。

需要特别注意的是,客观下线是主节点才有的概念;如果从节点和哨兵节点发生故障,被哨兵主观下线后,不会再有后续的客观下线和故障转移操作。

三、部署Redis哨兵

第一步 关闭防火墙和安全机制

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

第二步 修改Redis配置文件

vim /opt/redis-5.0.7/sentinel.conf

第三步 开启Master主节点

cd /opt/redis-5.0.7
redis-sentinel sentinel.conf

第四步 查看哨兵信息

redis-cli -p 26379 info sentinel

 到此这篇关于Redis如何部署哨兵的文章就介绍到这了,更多相关Redis 部署哨兵内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Redis延迟队列的实现代码

    基于Redis延迟队列的实现代码

    在生活中很多时候都会用到延迟队列,本文基于Redis延迟队列的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Windows中Redis安装配置流程并实现远程访问功能

    Windows中Redis安装配置流程并实现远程访问功能

    很多在windows环境中安装Redis总是出错,今天小编抽空给大家分享在Windows中Redis安装配置流程并实现远程访问功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-06-06
  • redis哈希类型_动力节点Java学院整理

    redis哈希类型_动力节点Java学院整理

    这篇文章主要介绍了redis哈希类型的常用方法及原理浅析,感兴趣的朋友一起看看吧
    2017-08-08
  • Redis实现编码生成规则方式

    Redis实现编码生成规则方式

    在自动生成编码时应采用“MD+年月日+4位序列号”的规则,如“MD202310130001”,为避免使用随机序列号导致的重复编码,建议使用从0开始的自增序列号,此外,使用Redis的incrBy功能实现序列号自增,可以有效提高效率和降低实现难度
    2023-01-01
  • redis keys与scan命令的区别说明

    redis keys与scan命令的区别说明

    这篇文章主要介绍了redis keys与scan命令的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Redis对批量数据实现分布式锁的实现代码

    Redis对批量数据实现分布式锁的实现代码

    为了防止多人多电脑同时操作一条数据,我们自己开发了一个简单的基于Redis实现的分布式锁,Redis对批量数据实现分布式锁相关知识感兴趣的朋友一起看看吧
    2022-03-03
  • Redis精确去重计数方法(咆哮位图)

    Redis精确去重计数方法(咆哮位图)

    这篇文章主要给大家介绍了关于Redis精确去重计数方法(咆哮位图)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Redis主从集群切换数据丢失的解决方案

    Redis主从集群切换数据丢失的解决方案

    这篇文章主要介绍了Redis主从集群切换数据丢失的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Redis的键String全面详解

    Redis的键String全面详解

    这篇文章主要为大家介绍了Redis的键String全面详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Redis的9种数据类型用法解读

    Redis的9种数据类型用法解读

    这篇文章主要介绍了Redis的9种数据类型用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论