哨兵模式原理_Redis哨兵、复制、集群的设计原理,以及区别
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。
- 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。
- 复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器。
Redis正是利用这两个功能来保证Redis的高可用。
![](/assets/blank.gif)
哨兵(sentinal)
哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预的问题。
1.Redis哨兵主要功能
(1)集群监控:负责监控Redis master和slave进程是否正常工作
(2)消息通知:如果某个Redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员
(3)故障转移:如果master node挂掉了,会自动转移到slave node上
(4)配置中心:如果故障转移发生了,通知client客户端新的master地址
2.Redis哨兵的高可用
原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。
![](/assets/blank.gif)
哨兵机制建立了多个哨兵节点(进程),共同监控数据节点的运行状况。
同时哨兵节点之间也互相通信,交换对主从节点的监控状况。
每隔1秒每个哨兵会向整个集群:Master主服务器+Slave从服务器+其他Sentinel(哨兵)进程,发送一次ping命令做一次心跳检测。
这个就是哨兵用来判断节点是否正常的重要依据,涉及两个新的概念:主观下线和客观下线。
1. 主观下线:一个哨兵节点判定主节点down掉是主观下线。
2.客观下线:只有半数哨兵节点都主观判定主节点down掉,此时多个哨兵节点交换主观判定结果,才会判定主节点客观下线。
3.原理:基本上哪个哨兵节点最先判断出这个主节点客观下线,就会在各个哨兵节点中发起投票机制Raft算法(选举算法),最终被投为领导者的哨兵节点完成主从自动化切换的过程。
Redis 复制(Replication)
Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。
1.数据复制原理(执行步骤)
![](/assets/blank.gif)
①从数据库向主数据库发送sync(数据同步)命令。
②主数据库接收同步命令后,会保存快照,创建一个RDB文件。
③当主数据库执行完保持快照后,会向从数据库发送RDB文件,而从数据库会接收并载入该文件。
④主数据库将缓冲区的所有写命令发给从服务器执行。
⑤以上处理完之后,之后主数据库每执行一个写命令,都会将被执行的写命令发送给从数据库。
注意:在Redis2.8之后,主从断开重连后会根据断开之前最新的命令偏移量进行增量复制。
![](/assets/blank.gif)
Redis 主从复制、哨兵和集群这三个有什么区别
1.主从模式:读写分离,备份,一个Master可以有多个Slaves。
2.哨兵sentinel:监控,自动转移,哨兵发现主服务器挂了后,就会从slave中重新选举一个主服务器。
3.集群:为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器,内存/QPS不受限于单机,可受益于分布式集群高扩展性。
![](/assets/blank.gif)
本文由博客一文多发平台 OpenWrite 发布!
哨兵模式原理_Redis哨兵、复制、集群的设计原理,以及区别相关推荐
- Redis系列教程(五):Redis哨兵、复制、集群的设计原理,以及区别
前一篇文章高并发架构系列:Redis为什么是单线程.及高并发快的3大原因详解谈了Redis高并发快的3个原因,本篇主要谈Redis的高可用,两篇合起来就可以把redis的高并发和高可用搞清楚了. 谈到 ...
- Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...
- down redis集群_redis有哪些集群模式
Redis集群一般有5种: 1,主从复制 2,哨兵模式 3,Redis官方提供的Cluster集群模式(服务端) 4,Jedis sharding集群(客户端sharding) 5,利用中间件代理,比 ...
- MySQL架构原理(七)集群架构和主从模式部署
目录 集群架构设计 架构设计理念 可用性设计 一致性设计 主从模式 适用场景 实现原理 主从复制 半同步复制 并行复制 MySQL 5.6并行复制原理 MySQL 5.7并行复制原理 MySQL8.0 ...
- 一文道明Redis集群架构工作原理及搭建
文章目录 前言 一.Redis-Cluster(集群)长什么样子? 二.Redis-Cluster集群搭建 1. Redis集群搭建 2. 客户端测试 3. 增加主节点(6000)到集群环境中 4. ...
- Redis主从集群搭建及其原理
Redis主从集群搭建及其原理 1.Redis主从 1.1.搭建主从架构 1.2.准备实例和配置 1.3.启动 1.4.开启主从关系 1.5.测试 2.主从数据同步原理 2.1.全量同步 2.2.增量 ...
- 集群概述及原理笔记(1)
it你好linux学习文档之集群概述及原理笔记(1) 一 前言 目前,越来越多的网站采用Linux操作系统,提供邮件.Web.文件存储.数据库等服务.也有非常多的公司在企业内部网中利用Linux服务器 ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- Mysql8 group replication组复制集群单主多主模式切换
Mysql8 MGR集群操作图解 声明与简介 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理.本文主要介绍mysql的MGR集群的操作. My ...
最新文章
- 【干货】交换机密码恢复教程
- HBase在CentOS上分布集群安装
- 大屏网页手机缩放html,大屏页面三种缩放
- springboot 集成redis_一文详解Spring Boot 集成 Redis
- php采集器分析功能实现
- mysql join子查询_MySQL的多表join中,子查询伤不起啊!
- 浅谈语音识别技术的发展趋势与应用前景 - 全文
- 如何实现实时文本过滤
- 叮铃铃~: 一个前端铃声/提示音组件
- Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19【转】
- delphi实现FTP上传与下载
- AUC(Area under Curve Roc曲线下面积)计算方法总结
- nagios监控系统
- mysql 有没有minus_MySQL实现差集(Minus)和交集(Intersect)
- 图解Topo拓扑排序
- 剑指offer55 二叉树的深度 捏软柿子
- 1.mysql sql语句介于两者时间之内的增删改查操作
- linux下autocad完美替代品ARES Commander的安装运行
- asp.net core mvc 错误处理 ExceptionFilterAttribute
- oracle匹配靓号的正则表达式_正则表达式(靓号过滤)
热门文章
- Yacc 与 Lex 快速入门
- nginx https http2
- go 打印 %v %+v %#v 的区别
- HadoopIO和javaIO的区别
- leetcode 566. Reshape the Matrix | 566. 重塑矩阵(Java)
- SpringBoot+Dubbo集成ELK实战
- hadoop2.6.0安装详细步骤
- 【最简解法】1048 Find Coins (25 分)_18行代码AC
- 应该掌握的神奇函数——sscanf的用法
- 简介明了——map+multimap头文件函数详解