Redis Sentinel机制与用法(七)

这篇具有很好参考价值的文章主要介绍了Redis Sentinel机制与用法(七)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis实战精讲-13小时彻底学会Redis

概述

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

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

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

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

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

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

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

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

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

3.Sentinel版本
Sentinel当前最新的稳定版本称为Sentinel 2(与之前的Sentinel 1区分开来)。随着redis2.8的安装包一起发行。安装完Redis2.8后,可以在redis2.8/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协议)。文章来源地址https://www.toymoban.com/news/detail-812885.html

到了这里,关于Redis Sentinel机制与用法(七)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • redis夯实之路-哨兵(Sentinel)机制详解

    Sentinel(哨兵)保证了redis的高可用性,一个Sentinel或多个Sentinel组成的系统监视多个主从服务器,当主服务器下线时,自动将一个从服务器升级为主服务器。 集群监控:负责监控redis master和slave进程是否正常工作  消息通知:如果某个redis实例有故障,那么哨兵负责发送消息给

    2024年01月21日
    浏览(41)
  • 【Redis学习】Redis哨兵(sentinel)

    定义 吹哨人巡查监控后台master主机是否故障,如果故障了根据 投票数 自动将某一个从库转换为新主库,继续对外服务。 作用: 监控redis运行状态,包括master和slave 当master down机,能自动将slave切换成新master 哨兵可以类比为无人值守的运维。 功能 主从监控 监控主从redis库运

    2023年04月09日
    浏览(48)
  • Redis Sentinel 哨兵模式

    Sentinel 哨兵模式  Redis Sentinel 官网  Redis 的 Sentinel 文档 -- Redis中国用户组(CRUG)  Sentinel Redis 命令参考(红色)  Sentinel 通过监控的方式获取主机的工作状态是否正常,当主机发生故障时, Sentinel 会自动进行 Failover(即故障转移),并将其监控的从机提升主服务器(master)

    2024年02月06日
    浏览(51)
  • Redis Sentinel工作原理

    Redis Sentinel是Redis的高可用性解决方案。它主要用来监控Redis master和slave服务器的运行状态,并在master宕机时自动进行故障转移,即从slave节点中选举出新的master节点,并让其余的slave节点指向新的master节点。 Redis Sentinel工作原理: 监控 :Sentinel 不断地检查你的master和slave服务

    2024年02月20日
    浏览(44)
  • Redis 哨兵 (sentinel)

    官网理论:https://redis.io/docs/management/sentinel/ 吹哨人巡查监控后台 master 主机是否故障,如果故障了根据 投票数 自动将某一个从库转换为新主库,继续对外服务。 作用:无人值守运维 哨兵的作用:     1、监控redis运行状态,包括master和slave     2、 当master down机,能自动将

    2024年02月15日
    浏览(38)
  • Redis 哨兵(sentinel)

    1.1 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务 1.2 作用 俗称,无人值守运维 哨兵的作用: 1、监控redis运行状态,包括master和slave 2、 当master down机,能自动将slave切换成新master 1.3 官网理论, https://redis.io/doc

    2024年02月09日
    浏览(41)
  • Redis中的Sentinel(五)

    在默认情况下,Sentinel会以每秒一次的频率向所有与它创建了命令连接的实例(包括主服务器、从服务器、其他Sentinel在内) 发送PING命令,并通过实例返回的PING命令回复来判断实例是否在线。如图所示,带箭头的连线显示了Sentinel1和Sentinel2是如何向实例发送PING命令的: 1.Sentine

    2024年04月14日
    浏览(36)
  • redis 哨兵 sentinel(一)配置

    sentinel巡查监控后台master主机是否故障,如果故障根据 投票数 自动将某一个从库转换为新主库,继续对外服务 sentinel 哨兵的功能 监控 监控主从redis库运行是否正常 消息通知 哨兵可以将故障转移的结果发送给客户端 故障转移 如果master异常,则会进行主从切换,将其中一个

    2024年02月07日
    浏览(44)
  • 复制架构,Redis Sentinel分析

    存储高可用,一般采用复制架构,复制架构,需要关注故障架构和状态决策2个要点 复制格式 格式 优点 缺点 举例 命令 数据量小 可能存在数据不一致 Mysql 的statement同步方式,按commit顺序同步,可能存在数据不一致 Redis 的 AOF,每个操作室幂等的。 MongoDB的oplog ,oplog中每个操

    2024年02月06日
    浏览(83)
  • 【redis13】集群前奏:sentinel模式

    我们现在来思考一个问题:如何实现服务的高可用。我们首先想到至少要满足两个要求:1.服务端能够实现主从自动切换;2.对于客户端来说,如果发生了主从切换,则能够自动连接到最新的master节点。 我们首先想到一个思路:增加一个领导者角色,能够管理redis节点存活状态

    2024年01月21日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包