redis的sentinel配置文件(redis 的sentinel原理)

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

本文将详细解释如何在Redis中使用Sentinel机制。边肖觉得挺实用的,分享给大家参考。希望你看完这篇文章能有所收获。

00-1010 Redis-sentinel是Redis官方推荐的高可用性(HA)解决方案。当redis作为主从的高可用性解决方案时,如果主机宕机,Redis本身(包括它的很多客户端)不会自动在主备之间切换,Redis-sentinel本身是一个独立的进程,可以监控多个主从集群,发现主机。

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

随时监控redis是否如预期运行良好;

如果发现一个redis节点正在运行,它可以通知另一个进程(比如它的客户端);

可以进行自动切换。当主节点不可用时,主节点的一个从节点(如果有多个从节点)可以被选为新的主节点,其他从节点会将它所跟随的主节点的地址更改为提升为主节点的从节点的新地址。

00-1010显然,仅使用单个哨点进程来监控redis集群是不可靠的。当sentinel进程宕机时(sentinel本身存在单点问题,单点故障),整个集群系统将无法按预期工作。因此,有必要对哨兵进行集群,这有几个好处:

即使某些sentinel进程失败,redis集群的主备切换仍然可以执行。

如果只有一个sentinel进程,如果这个进程运行不正确,或者网络被阻塞,那么redis集群的主备切换就不会实现(单点问题);

如果有多个哨点,redis的客户端可以随意连接任意一个哨点,获取redis集群的信息。

1. 概述

哨兵最新的稳定版本叫做哨兵2(区别于之前的哨兵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。

2. Sentinel支持集群

运行sentinel有两种方式:

3. Sentinel版本

redis-sentinel/path/to/sentinel . conf

4. 运行Sentinel

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

以上两种方式,必须指定一个sentinel配置文件sentinel.conf如果不指定,sentinel就不会启动。Sentinel默认监听端口26379,所以在运行之前需要确保这个端口没有被其他进程占用。

第一种

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

哨兵监视器mymaster 127.0.0.1 6379 2

毫秒后sentinel down-my master 60000 sentinel故障转移-超时mymaster 180000 sentinel并行-同步mymaster 1 sentinel监视器resque 19 2.168.1.3 6380 4 sentinel down-毫秒后resque 10000 sentinel故障转移-超时resque 180000 sentinel并行-同步resque 5

上面的配置项配置了两个分别名为mymaster和resque的master。配置文件只需要配置主节点的信息,不需要配置从节点的信息,因为可以自动检测从节点(主节点会有关于从节点的消息)。需要注意的是,在sentinel运行期间,配置文件会被动态修改。例如,当主从切换发生时,配置文件中的主机将被修改为另一个从机。这样,如果sentinel稍后重新启动,它可以根据此配置恢复之前监控的redis集群的状态。

接下来,我们将逐行解释上述配置项:

哨兵监视器mymaster 127.0.0.1 6379 2

这一行代表哨兵监控的主机,哨兵的名字是mymaster,地址是127 . 0 . 0 . 13600 . 136006360606行尾的最后2是什么意思?我们知道,网络是不可靠的。有时一个哨兵误以为一个redis大师死了是因为网络堵塞。当哨兵被聚集时,这个问题的解决方案变得非常简单。它只需要多个哨兵相互沟通,确认一个主人是否真的死了。这2意味着当集群中的两个哨兵认为主人已经死了,就真的可以认为主人已经不在了。(哨兵集群中的哨兵也通过流言协议相互通信)。

这篇关于“如何在Redis中使用Sentinel机制”的文章就分享到这里了,希望。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/146799.html

(0)

相关推荐

  • 如何理解C++属性具体概念

    技术如何理解C++属性具体概念本篇文章给大家分享的是有关如何理解C++属性具体概念,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++编程语言中的属性是一个

    攻略 2021年10月27日
  • 如何禁用badusb(badusb代码编写规范)

    技术如何实现预防BadUSB这期内容当中小编将会给大家带来有关如何实现预防BadUSB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。漏洞背景“BadUSB”是今年计算机安全领域的热门话

    攻略 2021年12月22日
  • 如何理解Spring启动过程

    技术如何理解Spring启动过程这篇文章主要介绍“如何理解Spring启动过程”,在日常操作中,相信很多人在如何理解Spring启动过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理

    攻略 2021年10月20日
  • mysql客户端访问数据库流程分析(mysql数据库数据分析中怎么用的)

    技术怎样进行mysql数据库的分析怎样进行mysql数据库的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、数据库是什么?数据库是管理数据的一类软

    攻略 2021年12月25日
  • 同性恋的原因,为啥现在的同性恋那么多

    技术同性恋的原因,为啥现在的同性恋那么多同性恋产生的原因至今尚无肯定的学说,一般认为与以下因素有关同性恋的原因:
    (1)遗传因素,有人发现同性恋者在单卵双生子中远比双卵双生子中多见,而且男同性恋可能是母系遗传的。
    (2)

    生活 2021年10月30日
  • 区块链需要学javascript吗(javascript编写区块链)

    技术如何用JS构建你自己的区块链如何用JS构建你自己的区块链,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言区块链太复杂,那我们就讲点简单的。用JS来

    攻略 2021年12月14日