聊聊Redis中的哨兵模式(Sentine)

本篇文章带大家了解一下redis中的哨兵模式(sentine),介绍一下sentinel工作机制、sentinel模式怎么搭建,希望对大家有所帮助!

聊聊Redis中的哨兵模式(Sentine)

Redis Sentinel哨兵模式 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。【相关推荐:Redis视频教程】

Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 系统执行以下三个任务:

监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

Sentinel工作机制

每个sentinel以每秒钟一次的频率向它所知的master,slave以及其他sentinel实例发送一个 PING 命令

如果一个实例距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被sentinel标记为主观下线。

如果一个master被标记为主观下线,则正在监视这个master的所有sentinel要以每秒一次的频率确认master的确进入了主观下线状态

当有足够数量的sentinel(大于等于配置文件指定的值)在指定的时间范围内确认master的确进入了主观下线状态, 则master会被标记为客观下线

在一般情况下, 每个sentinel会以每 10 秒一次的频率向它已知的所有master,slave发送 INFO 命令

当master被sentinel标记为客观下线时,sentinel向下线的master的所有slave发送 INFO 命令的频率会从 10 秒一次改为 1 秒一次

若没有足够数量的sentinel同意master已经下线,master的客观下线状态就会被移除;若master重新向sentinel的 PING 命令返回有效回复,master的主观下线状态就会被移除

Sentinel模式搭建

环境

master:127.0.0.1:6379 【初始化master】slave:127.0.0.1:6380  127.0.0.1:6381sentinel:127.0.0.1:26379  127.0.0.1:26380  127.0.0.1:26381

登录后复制修改配置:

这里省略安装了redis,直接修改sentinel配置文件。对应文件夹Redis6379-Redis6381

# 监控节点,且超过2个sentinel 任务故障,方可执行故障转移sentinel monitor mymaster 127.0.0.1 6379 2# 如果节点在 30000毫秒内未回应,就认为故障sentinel down-after-milliseconds mymaster 30000# 如果故障转移后,同时进行主从复制数为 1sentinel parallel-syncs mymaster 1# 故障转移的超时时间sentinel failover-timeout mymaster 180000sentinel deny-scripts-reconfig yes

登录后复制

启动命令

./src/redis-sentinel ./config/redis-sentinel-6379.conf(同样启动6380 6381)

登录后复制

更多编程相关知识,请访问:编程入门!!

以上就是聊聊Redis中的哨兵模式(Sentine)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2039706.html

(0)
上一篇 2025年2月24日 00:04:14
下一篇 2025年2月18日 13:32:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Redis如何实现分布式锁?聊聊实现方法

    如何使用 redis 实现分布式锁?下面本篇文章给大家介绍一下基于 redis 实现分布式锁的方法,希望对大家有所帮助! 在一个分布式系统中,会遇到一些需要对多个节点共享的资源加锁的情况,这个时候需要用到分布式锁。分布式锁通常保存在一个共享…

    2025年2月24日
    200
  • 深入聊聊Redis中的双链表

    本篇文章带大家了解一下redis 数据结构中的双链表,简单介绍一下双链表的运用,希望对大家有所帮助! 在 Redis 数据类型中的列表list,对数据的添加和删除常用的命令有 lpush,rpush,lpop,rpop,其中 l 表示在左侧…

    2025年2月24日
    200
  • 深入浅析Redis中的位图(bitmap)

    本篇文章带大家了解一下redis中的位图(bitmap),希望对大家有所帮助! Redis 的位图(bitmap)是由多个二进制位组成的数组,数组中的每个二进制位都有与之对应的偏移量(从 0 开始),通过这些偏移量可以对位图中指定的一个或多…

    2025年2月24日
    200
  • 分享一些好用Redis可视化工具

    本篇文章给大家总结了几款好用redis可视化工具,觉得挺不错的,现在分享给大家,也给大家做个参考,希望对大家有所帮助! 不啰嗦,我们直接开始! 1、命令行 1.1、iredis 利用iredis,用|将redis通过pipe用shell的其…

    2025年2月24日 数据库
    200
  • 整理一些常见Redis数据结构(总结)

    本篇文章给大家整理分享一些常见redis数据结构,还有一些常用指令整理,希望对大家有所帮助! 什么是数据结构? 有Java基础的应该知道常用的一些数据结构,比如数组、队列、栈等等… 那Redis的数据结构跟Java的数据结构有什…

    2025年2月24日
    200
  • 分享一些好用的Redis运维工具

    本篇文章给大家分享一些好用的redis运维工具,看看怎么进行运行状态监控、数据迁移、集群管理,希望对大家有所帮助! 我们在应用Redis时,经常会面临的运维工作,包括Redis的运行状态监控,数据迁移,主从集群、切片集群的部署和运维。接下来…

    2025年2月24日
    200
  • 聊聊Redis数据结构中的String类型

    本篇文章带大家一起了解一下redis数据结构中的string类型,并聊聊redis的kv存储结构,希望对大家有所帮助! Redis常用作分布式KV缓存,很多人仅仅只会使用,却不知道底层却有着很多不为人知的秘密。【相关推荐:Redis视频教程…

    2025年2月24日
    200
  • Redis学习之聊聊单线程的reactor模型

    本篇文章带大家聊聊redis中单线程的reactor模型,i/o模型,还有多线程版本i/o模型,希望对大家有所帮助! redis 的高性能 纯内存访问,所有数据都在内存中,所有的运算都是内存级别的运算,内存响应时间的时间为纳秒级别。因此 r…

    2025年2月24日
    200
  • 浅谈Redis中消息队列和延时消息队列的实现方法

    redis如何实现消息队列与延时消息队列?下面本篇文章给大家介绍一下redis中消息队列和延时消息队列的实现方法,希望对大家有所帮助! 提到redis,更多的可能想到用作缓存的用途,其实redis也可以实现一些简单的消息队列用途,我们可以使…

    2025年2月24日 数据库
    200
  • 实战:通过示例代码聊聊Redis中的list命令

    本篇文章给大家介绍一下redis中的list命令,通过代码示例了解一下list命令的用法,希望对大家有所帮助! list的数据结构 List类型是一个双端链表的结构,容量是2的32次方减1个元素,即40多亿个;其主要功能有push、pop、…

    2025年2月24日
    200

发表回复

登录后才能评论