redis主从复制的原理-redis主从复制特点(8-7-56)
更新时间:2024-10-12 分类:Redis 浏览量:2
Redis本文目录一览:
- 1、调研Redis高可用两种方案
- 2、Redis主从复制与一致性
- 3、Redis集群模式1-主从复制+哨兵机制
- 4、Redis-Cluster
- 5、redis主从复制最好采用哪种结构
- 6、玩转Redis的高可用(主从、哨兵、集群)
调研Redis高可用两种方案
1、Redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式:Redis中主从节点复制数据有全量复制和部分复制之分。
2、Redis主从架构高可用的实现方式主要有两种:自动故障迁移和手动切换。1 自动故障迁移 自动故障迁移是指当主节点出现宕机或者故障时,从节点可以自动接替主节点的职责,继续提供服务。这种方式需要实现Redis Sentinel监控系统。
3、Redis 高可用方案常用的有两种:Redis Sentinel 和 Redis Cluster ,本篇笔记介绍这两种方案如何在 Kubernetes 中部署。
4、Redis哨兵是一种自动化的Redis高可用解决方案,可以监测主节点的状态,并在主节点宕机后自动将从节点升级为新的主节点,以保证Redis服务的高可用性。
Redis主从复制与一致性
Redis为复制积压缓冲区设置的默认大小为1MB,如果主服务器需要执行大量写命令,又或者主从服务器断线后重连接所需的时间比较,那么这个大小也许并不合适。
因此,可以说Redis集群中的主节点数据是一致的,这是由于集群的复制和同步机制以及状态检查机制所保证的。
传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限。主节点会定期将数据同步到从节点中,保证数据一致性的问题。
Redis集群模式1-主从复制+哨兵机制
传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限。主节点会定期将数据同步到从节点中,保证数据一致性的问题。
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
因此, 主从模式的一个缺点,就在于无法实现自动化地故障恢复 。Redis后来引入了哨兵机制,哨兵机制大大提升了系统的高可用性。哨兵,就是站岗放哨的,时刻监控周围的一举一动,在第一时间发现敌情并发出及时的警报。
集群监控,负责监控redis master 和slave进程是否正常工作。(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员。(3)故障转移,如果master node挂掉了,会自动转移到slave node上。
Redis 高可用的主要有三种模式: 主从模式, 哨兵模式和集群模式。 Redis 提供了 Redis 提供了复制(replication)功能,当一台 redis 数据库中的数据发生了变化,这个变化会被自动地同步到其他的 redis 机器上去。
哨兵模式就是在主从模式的基础上再加一个哨兵集群。每个哨兵都会监控主节点和从节点的状态。如果主节点挂了,就会从从节点中选出一个来作为主节点,以达到高可用的目的。
Redis-Cluster
1、redis-cluster把所有的物理节点映射到[0-16383]个 slot 上,基本上采用平均分配和连续分配的方式。
2、CLUSTER REPLICATE node_id 将当前节点设置为 node_id 指定的节点的从节点。CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
3、在redis-cluster集群中,每一个主节点可以添加多个从节点,主节点和从节点遵循主从模式的特性。 当用户需要处理更多的读请求时,添加从节点可以扩展系统的读性能。
4、Redis集群把所有的数据映射到16384个槽中。每个key会映射为一个固定的槽,只有当节点分配了槽,才能响应和这些槽关联的键命令。通过cluster addslots命令为节点分配槽。
5、修改配置文件 在每个节点的配置文件里面增加密码选项,一定要加上 masterauth,不然 Redirected 的时候会失败。masterauth redispassword requirepass redispassword 修改后需要重启节点。
redis主从复制最好采用哪种结构
1、为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。
2、Redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式:Redis中主从节点复制数据有全量复制和部分复制之分。
3、演示集群采用1主2从,采用伪集群,在一台虚拟机中启动,端口暂定6386386383,集群结构可以选择下面2种,因为数量较少,此次采用普通样式。
4、二 list(双向链表)list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。
玩转Redis的高可用(主从、哨兵、集群)
基于以上,Redis集群方案显得尤为重要。通常有3个途径:官方Redis Cluster;通过Proxy分片;客户端分片(Smart Client)。以上三种方案各有利弊。
主从复制可以提高Redis集群的可用性,当主节点出现故障时,从节点可以自动或者手动替代主节点的职责,从而保证Redis集群的高可用性。
哨兵集群,基于主从复制模式,所有的主从配置优点,它全有。主从可以切换,故障可以转移,系统的可用性就会更好。哨兵模式就是主从模式的升级,手动到自动,更加健壮。集群容量一旦到达上限,在线扩容十分麻烦。
主节点会定期将数据同步到从节点中,保证数据一致性的问题。这种集群方式在运行时存在一些问题:Redis的哨兵机制就是解决主从复制存在缺陷(选举问题),解决问题保证我们的Redis高可用,实现自动化故障发现与故障转移。
哨兵模式就是在主从模式的基础上再加一个哨兵集群。每个哨兵都会监控主节点和从节点的状态。如果主节点挂了,就会从从节点中选出一个来作为主节点,以达到高可用的目的。
原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。