redis的高可用详解:redis哨兵复制集群的设计原理,以及区别

telwanggs telwanggs     2022-12-09     347

关键词:

谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。

  1.  哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。
  2.  复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器。

Redis正是利用这两个功能来保证Redis的高可用。

技术图片

哨兵(sentinal)

哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预的问题。

1.Redis哨兵主要功能

(1)集群监控:负责监控Redis master和slave进程是否正常工作

(2)消息通知:如果某个Redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员

(3)故障转移:如果master node挂掉了,会自动转移到slave node上

(4)配置中心:如果故障转移发生了,通知client客户端新的master地址

2.Redis哨兵的高可用

原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。

技术图片
  1.  哨兵机制建立了多个哨兵节点(进程),共同监控数据节点的运行状况。
  2.  同时哨兵节点之间也互相通信,交换对主从节点的监控状况。
  3.  每隔1秒每个哨兵会向整个集群:Master主服务器+Slave从服务器+其他Sentinel(哨兵)进程,发送一次ping命令做一次心跳检测。

这个就是哨兵用来判断节点是否正常的重要依据,涉及两个新的概念:主观下线和客观下线。

1. 主观下线:一个哨兵节点判定主节点down掉是主观下线。

2.客观下线:只有半数哨兵节点都主观判定主节点down掉,此时多个哨兵节点交换主观判定结果,才会判定主节点客观下线。

3.原理:基本上哪个哨兵节点最先判断出这个主节点客观下线,就会在各个哨兵节点中发起投票机制Raft算法(选举算法),最终被投为领导者的哨兵节点完成主从自动化切换的过程。

Redis 复制(Replication)

Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。

1.数据复制原理(执行步骤)

技术图片

①从数据库向主数据库发送sync(数据同步)命令。

②主数据库接收同步命令后,会保存快照,创建一个RDB文件。

③当主数据库执行完保持快照后,会向从数据库发送RDB文件,而从数据库会接收并载入该文件。

④主数据库将缓冲区的所有写命令发给从服务器执行。

⑤以上处理完之后,之后主数据库每执行一个写命令,都会将被执行的写命令发送给从数据库。

注意:在Redis2.8之后,主从断开重连后会根据断开之前最新的命令偏移量进行增量复制。

技术图片

Redis 主从复制、哨兵和集群这三个有什么区别

技术图片

 

1.主从模式:读写分离,备份,一个Master可以有多个Slaves。

2.哨兵sentinel:监控,自动转移,哨兵发现主服务器挂了后,就会从slave中重新选举一个主服务器。

3.集群:为了解决单机Redis容量有限的问题

玩转redis的高可用(主从、哨兵、集群)

参考技术A所谓的高可用,也叫HA(HighAvailability),是分布式系统架构设计中必须考虑的因素之一,它是保证系统SLA的重要指标。Redis高可用的主要有三种模式:主从模式,哨兵模式和集群模式。Redis提供了Redis提供了复制(replicatio... 查看详情

redis的高可用实现方案:哨兵与集群(代码片段)

...可用什么是高可用?那么如何实现高可用?Redis中的高可用实现方案哨兵:概念:哨兵节点的特性工作原理:超半数选举工作原理:Redis主从复制主从复制概念主从复制的作用主从复制流程:集群:... 查看详情

redis数据库主从哨兵群集(代码片段)

...括持久化、主从复制、哨兵和集群持久化持久化是最简单的高可用方法(有些时候会不被归为高可用措施)主要作用是数据备份,也就是将数据存储在硬盘,保证数据不会因进程退出而丢失主从复制主从复制是高... 查看详情

redis高可用之主从复制哨兵模式集群模式(代码片段)

目录前言一、Redis主从复制1.1Redis主从复制的概念1.2Redis主从复制的作用1.3Redis主从复制的流程1.4Redis主从复制的搭建1.4.1环境准备,在主从服务器上安装Redis服务1.4.2修改Master节点Redis配置文件1.4.3修改Slave节点Redis配置文件验证... 查看详情

高可用集群架构——redis的主从复制与哨兵模式,cluster(代码片段)

redis的集群一、redis的集群模式1、三种模式2、redis集群与哈希槽二、Redis主从复制概述1、Redis主从复制概述2、主从复制流程三、哨兵模式1、简单介绍2、哨兵的工作原理5、哨兵模式下的故障迁移四、Cluster群集redis-Cluster的故障转... 查看详情

如何保证redis高可用和高并发(主从+哨兵+集群)(代码片段)

...;但同样复杂度也相比单实例高出很多。那么如何保证Redis的高并发和高可用?Redis主要有三种集群方式用来保证高并发和高可用:主从复制,哨兵模式和集群。2.主从复制在分布式系 查看详情

redis主从复制哨兵和集群区别

...的优缺点2、哨兵(Sentinel)2.1Redis哨兵主要功能2.2Redis哨兵高可用原理2.3Redis哨兵故障切换的过程2.4Redis哨兵模式的工作方式2.5Redis哨兵模式的优缺点3、集群(Cluster)3.1集群的配置3.2集群的特点3.3集群的工作方式主从复制(Replication)主 查看详情

redis主从复制哨兵和集群区别

...的优缺点2、哨兵(Sentinel)2.1Redis哨兵主要功能2.2Redis哨兵高可用原理2.3Redis哨兵故障切换的过程2.4Redis哨兵模式的工作方式2.5 查看详情

redis主从复制哨兵和集群区别

...的优缺点2、哨兵(Sentinel)2.1Redis哨兵主要功能2.2Redis哨兵高可用原理2.3Redis哨兵故障切换的过程2.4Redis哨兵模式的工作方式2.5Redis哨兵模式的优缺点3、集群(Cluster)3.1Redis-Cluster集群的配置3.2Redis-Cluster集群的特点3.3Redis-Cluster集群的工... 查看详情

给redis主从复制模式加上哨兵实现高可用

...换的问题。需要实现主从的自动切换,才能保证Redis服务的高可用。二、哨兵模式所谓哨兵模式其实就是启动一组独立的监控进程,通过发送命令监听Redis服务,当主机宕机时,自动切换从机成为主 查看详情

redis大型攻略之主从复制哨兵模式群集模式

...,以及存储能力受到单机限制的问题实现了较为完善的高可用方案Redis主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器,前者称为主节点(Master),后者称为从节点(Slave)数据的复... 查看详情

redis集群模式1-主从复制+哨兵机制

参考技术A单个Redis服务如果宕机的话,服务就不可用了,为了解决这种问题,redis也提供有集群服务。传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限。主节点会定期将数据... 查看详情

redis技术探索「高可用架构模式」哨兵(sentinel)模式实现主从故障互切换模式详解(代码片段)

哨兵(sentinel)模式实现主从故障互切换模式详解Redis的多种模式Redis单机模式Redis单机模式的优点Redis单机模式的缺点Redis主从复制旧版本配置新版本配置查看主节点信息主从模式的优点主从复制的弊端Redis哨兵模式分析哨... 查看详情

redis高可用方案:sentinel(哨兵模式)和集群(代码片段)

...了sentinel哨兵模式。哨兵模式简介:sentinel是官方提供的高可用方案,其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。同时sentinel是一个分布式系统,可以在一个架构中运行多... 查看详情

redis大型攻略之主从复制哨兵模式群集模式

...建Redis主从复制配置redis前言主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复缺陷是故障恢... 查看详情

redis主从复制-哨兵-集群相关部署(代码片段)

Redis主从复制+哨兵+集群一.主从复制-哨兵-集群二.主从复制1.主从复制的作用2.主从复制流程3.部署Redis主从复制三.哨兵模式1.哨兵模式的原理2.哨兵模式的作用3.哨兵结构由两部分组成,哨兵节点和数据节点部署哨兵模式... 查看详情

构建高可用的redis服务(主从复制/哨兵/集群底层原理)(代码片段)

文章目录高可用的Redis服务一、主从复制1、主从复制的底层原理I.完整同步II.部分同步psync实现原理2、主从复制的优缺点二、哨兵1、工作模式2、哨兵的优缺点三、集群1、集群的配置2、集群的优缺点高可用的Redis服务高可用:... 查看详情

56-redis集群-哨兵sentinel搭建实现负载均衡高可用

主从复制实现当master出现故障后,可以自动提升一个slave节点变成新的Mster,因此RedisSlave需要设置和master相同的连接密码,此外当一个Slave提升为新的master通过持久化实现数据的恢复当配置Redis复制功能时,强烈建议打开主服务器的... 查看详情