我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Redis中的Sentinel机制怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Redis中的Sentinel机制怎么用

这篇文章将为大家详细讲解有关Redis中的Sentinel机制怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. 概述

Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自懂切换。

它的主要功能有以下几点:

  • 不时地监控redis是否按照预期良好地运行;

  • 如果发现某个redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);

  • 能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。

2. Sentinel支持集群

很显然,只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后(sentinel本身也有单点问题,single-point-of-failure)整个集群系统将无法按照预期的方式运行。所以有必要将sentinel集群,这样有几个好处:

  • 即使有一些sentinel进程宕掉了,依然可以进行redis集群的主备切换;

  • 如果只有一个sentinel进程,如果这个进程运行出错,或者是网络堵塞,那么将无法实现redis集群的主备切换(单点问题);

  • 如果有多个sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息。

3. Sentinel版本

Sentinel当前最新的稳定版本称为Sentinel 2(与之前的Sentinel 1区分开来)。随着redis2.8的安装包一起发行。安装完Redis2.8后,可以在redis2.8/class="lazy" data-src/里面找到Redis-sentinel的启动程序。

强烈建议:如果你使用的是redis2.6(sentinel版本为sentinel 1),你最好应该使用redis2.8版本的sentinel 2,因为sentinel 1有很多的Bug,已经被官方弃用,所以强烈建议使用redis2.8以及sentinel 2。

4. 运行Sentinel

运行sentinel有两种方式:

第一种

redis-sentinel /path/to/sentinel.conf

第二种

redis-server /path/to/sentinel.conf --sentinel

以上两种方式,都必须指定一个sentinel的配置文件sentinel.conf,如果不指定,将无法启动sentinel。sentinel默认监听26379端口,所以运行前必须确定该端口没有被别的进程占用。

5. Sentinel的配置

Redis源码包中包含了一个sentinel.conf文件作为sentinel的配置文件,配置文件自带了关于各个配置项的解释。典型的配置项如下所示:

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel down-after-milliseconds mymaster 60000 sentinel failover-timeout mymaster 180000 sentinel parallel-syncs mymaster 1 sentinel monitor resque 192.168.1.3 6380 4 sentinel down-after-milliseconds resque 10000 sentinel failover-timeout resque 180000 sentinel parallel-syncs resque 5

上面的配置项配置了两个名字分别为mymaster和resque的master,配置文件只需要配置master的信息就好啦,不用配置slave的信息,因为slave能够被自动检测到(master节点会有关于slave的消息)。需要注意的是,配置文件在sentinel运行期间是会被动态修改的,例如当发生主备切换时候,配置文件中的master会被修改为另外一个slave。这样,之后sentinel如果重启时,就可以根据这个配置来恢复其之前所监控的redis集群的状态。

接下来我们将一行一行地解释上面的配置项:

sentinel monitor mymaster 127.0.0.1 6379 2

这一行代表sentinel监控的master的名字叫做mymaster,地址为127.0.0.1:6379,行尾最后的一个2代表什么意思呢?我们知道,网络是不可靠的,有时候一个sentinel会因为网络堵塞而误以为一个master redis已经死掉了,当sentinel集群式,解决这个问题的方法就变得很简单,只需要多个sentinel互相沟通来确认某个master是否真的死了,这个2代表,当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。(sentinel集群中各个sentinel也有互相通信,通过gossip协议)。

关于“Redis中的Sentinel机制怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Redis中的Sentinel机制怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis中的自动过期机制怎么使用

本篇内容介绍了“Redis中的自动过期机制怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Redis中的自动过期机制实现需求:处理订单
2023-06-30

SpringBoot中怎么利用Sentinel实现接口流量控制

这期内容当中小编将会给大家带来有关SpringBoot中怎么利用Sentinel实现接口流量控制,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。项目搭建首先我们来创建一个测试项目,这里初始化项目的url建议
2023-06-15

redis中RDB(Redis Data Base)的机制

目录一、RDB(Redijavascripts Data Base)1.1、配置文件 1.2、操作步骤 1.3、数据丢失演示 1.4、检查dump.rdb文件是否损坏 1.5、禁用RDB快照一、RDB(Redis Data Base)1
2023-04-06

redis中RDB(RedisDataBase)的机制

本文主要介绍了redis中RDB(RedisDataBase)的机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-14

redis怎么做缓存机制

Redis是一个开源的、高性能的键值数据库,它可以用作缓存机制来提高系统的访问速度。以下是使用Redis作为缓存机制的一些步骤:1. 安装和配置Redis:首先需要在服务器上安装Redis,并进行相关的配置。可以参考Redis官方网站或其他
2023-09-06

怎么在Redis中实现缓存失效机制

在Redis中,可以通过设置过期时间来实现缓存失效机制。可以使用EXPIRE命令来设置某个键的过期时间,当到达过期时间时,Redis会自动删除该键。例如:SET mykey "hello"EXPIRE mykey 60上述命令将myke
怎么在Redis中实现缓存失效机制
2024-03-11

java怎么实现Redis的LRU缓存机制

本篇内容主要讲解“java怎么实现Redis的LRU缓存机制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么实现Redis的LRU缓存机制”吧!目录LRU概述使用LinkedHashM
2023-06-20

Redis的异步机制是什么

这篇文章主要讲解了“Redis的异步机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis的异步机制是什么”吧!一、Redis 的阻塞点和 Redis 实例交互的对象,以及交互时
2023-06-30

python中sub-pub机制怎么实现Redis的订阅与发布

本篇内容介绍了“python中sub-pub机制怎么实现Redis的订阅与发布”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先介绍一下red
2023-07-05

Redis中如何使用不同的序列化机制

在Redis中,可以通过配置参数来使用不同的序列化机制。Redis支持多种序列化格式,包括JSON、MsgPack、Protobuf等。使用JSON序列化:可以通过设置Redis的配置参数来使用JSON序列化。在Redis的配置文件中,可以
Redis中如何使用不同的序列化机制
2024-04-29

java中的反射机制怎么应用

Java中的反射机制可以应用于以下场景:动态加载类:可以在运行时加载指定的类,而不是在编译时就确定类的类型。创建对象:可以通过反射机制动态创建对象,而不是使用new关键字。调用方法:可以通过反射机制动态调用对象的方法,包括私有方法。访问属性
2023-10-23

Redis的内存管理机制是什么

Redis使用一种称为"内存驱动"的内存管理机制。该机制将所有数据存储在内存中,并通过使用LRU算法(最近最少使用)来管理内存中的数据。当内存达到设定的阈值时,Redis会根据LRU算法淘汰一些数据以释放空间。此外,Redis还可以通过将数
Redis的内存管理机制是什么
2024-05-07

编程热搜

目录