博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis Sentinel知识
阅读量:4169 次
发布时间:2019-05-26

本文共 1119 字,大约阅读时间需要 3 分钟。

Sentinel

Redis服务器被一到多个Sentinel示例监视,sentinel维持Redis的高可用。

1.sentinel启动

redis-server /redisPath/sentinel.conf --sentinel

或redis-sentinel /redisPath/sentinel.conf

sentinel启动步骤包括如下:

1.初始化服务器
2.初始化sentinel状态
3.根据配置文件,初始化Sentinel监视主服务器列表
4.创建连向主服务器的网络连接

1.初始化服务器

sentinel和普通的redis服务器工作状态方式不同,因此不需要像普通服务器那样初始化时载入RDB和AOF文件,并且功能使用情况也有所不同。

在这里插入图片描述

2.初始化Sentinel

Sentinel状态中的masters记录所有被Sentinel监视的主服务器的信息。

3.创建连向主服务器的网络连接

初始化Sentinel需创建连向监视主服务器的网络连接,一般会创建两个连接:

1.命令连接,用于向主服务器发送命令,并接收回复。
2.订阅连接,用于订阅主服务器的频道。
在这里插入图片描述

2.获取主服务器信息

Sentinel每十秒一次,向master发送info,获取master当前信息。

返回信息包括master本身信息和从雾浮起的信息。

3.获取从服务器信息

当Sentinel发觉有新的从服务器出现时,会创建实例并给创建连接到从服务器的连接和订阅连接。

4.向master和slave发送信息

Sentinel默认每两秒发送命令连接所有被监视的主从服务器。获取服务器的名字,ip地址,端口号等。

5.接收主从服务器的频道信息

Sentinel与服务器建立订阅连接后,会发送命令连接和订阅连接,sentinel会定时接收连接后的频道信息。如果发现信息中记录的Sentinel运行ID和接收信息的Sentinel运行ID相同,则说明该信息由自己发送的,则不做处理。如果发现不同,则该信息时由其他Sentinel发来,会对主服务器实例结构更新,实例结构包括主从服务器的信息,还有各个Sentinel的监视情况。

Sentinel只与主从服务器创建命令和订阅连接,Sentinel之间只创建命令连接。

5.监控master下线状态

Sentinel美妙向实例(主从服务器,其他Sentinel)发送PING命令,并根据返回判断是否在线,若指定时长内接收到无效回复,则人为器主管下线。当判断为主观下线后,会向同样监视该主服务器的其他Sentinel询问是否同意主观下线,并进行投票,若获得够多的投票则判断为客观下线,则会对该master进行故障转移。

转载地址:http://bukai.baihongyu.com/

你可能感兴趣的文章
工作流审批平台-审批流程-指定审批部门
查看>>
商务智能-系统概述-数据图形方式
查看>>
软件项目管理系统-项目管理-模块定义-开发内容
查看>>
工作流审批平台-审批功能
查看>>
商务智能-基本方法-特征与角度
查看>>
软件项目管理系统-项目管理-模块定义-开发笔记
查看>>
工作流审批平台-业务申请-申请书一览
查看>>
商务智能-基本方法-数据钻取
查看>>
C++程序员技术需求规划(发展方向)
查看>>
嵌入式100题(017):malloc的底层实现
查看>>
嵌入式100题(018):在1G内存的计算机中能否malloc(1.2G)?为什么?
查看>>
嵌入式100题(019):指针与引用的相同和区别;如何相互转换?
查看>>
嵌入式100题(040):什么是三次握手
查看>>
嵌入式100题(037):Http1.1和Http1.0的区别
查看>>
嵌入式100题(038):HTTPS与HTTP的一些区别
查看>>
嵌入式100题(042):为什么服务端易受到SYN攻击?
查看>>
嵌入式100题(043):什么是四次挥手
查看>>
嵌入式100题(044):为什么客户端最后还要等待2MSL?
查看>>
嵌入式100题(045):为什么建立连接是三次握手,关闭连接确是四次挥手呢?...
查看>>
嵌入式100题(028):static的用法(定义和用途)
查看>>