Redis的主从复制、哨兵机制、集群

一、主从复制

1、定义

主:master以写为主当master数据变化的时候
从:slave以读为主自动将新的数据异步同步到其他slave数据库

2、作用

读写分离、容灾恢复、数据备份、水平扩容支撑高并发。

3、使用方式——配从不配主

权限配置:master如果配置了requirepass参数,需要密码登录,那么slave就要配置masterauth来设置校验密码,否则master会拒绝slave的访问请求。

4、基本操作命令

info replication——可以查看复制节点的主从关系和配置信息。

replicaof masterip masterport  写入redis.conf中、即 replicaof 192.168.88.100  6379

 slaveof masterip masterport 写入redis.conf中,和master建立连接

slaveof no one 是当前数据库禁止和其他数据库的同步,转成主数据库。

5、复制的缺点

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。 而且,情况下不会再slave节点中自动重选一个master,导致master挂机。

二、哨兵机制

1、定义

在集群中再引入一个节点,该节点充当 Sentinel 哨兵,用于监视 Master 的运行状态,并在Master 宕机后自动指定一个 Slave 作为新的 Master。 整个过程无需人工参与,完全由哨兵自动完成。

2、哨兵的作用

①监控redis运行状态、②当master宕机,自动将slave切换成新的master、③哨兵能将故障转移的结果发送给客户端、④客户端通过连接哨兵获得redis服务的主节点地址。

 3、哨兵的工作流程

当一个主从配置的master失效之后,sentinel可以选举出一个新的master来自动接替原来的master的工作,主从配置中的其他redis服务器自动指向新的master同步数据。

4、简单命令

redis-sentinel sentinel26379.conf  ——  启动Sentinel

redis-cli -p 26379 info sentinel —— 查看Sentinel信息

5、哨兵机制缺点

若哨兵发生宕机,整个集群将瘫痪。所以为了解决 Sentinel 的单点问题,又要为 Sentinel 创建一个集群,即Sentinel 哨兵集群。一个哨兵的宕机,将不会影响到 Redis 集群的运行。

 三、Redis集群

1、定义

由于数据量过大,单个Master复制集难以承担,因此需要多个复制几6进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分。可以支持多个Master

其作用是提供在多个Redis节点间共享数据的程序集。

2、作用

①实现读写分离,支持数据的高可用,支持海量数据的读写存储操作;

②集群自带Sentinel的故障转移机制,内置高可用的支持,无需重复使用哨兵功能;

③客户端与Redis的节点连接,不再需要连接集群中的所有结点,只连接集群的一个可用节点即可

④槽位slot负责分配到各个物理服务节点,由对应的集群来负责维护节点、插槽和数据之间的关系

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis是一个基于内存的高性能键值存储系统,支持多种数据结构。在实际应用中,为了保证Redis的高可用性,可以采用主从复制哨兵和集群等方式。 1. 主从复制 主从复制的原理是将一台Redis服务器的数据复制到其他多个Redis服务器上,其中主节点是读写节点,从节点只能读取数据。主节点将自己的数据变化通过异步的方式发送给从节点,从而实现数据同步。主从复制可以提高Redis的可用性和性能,并且可以支持读写分离,从而减轻主节点的压力。 2. 哨兵 哨兵是一种特殊的Redis服务器,用于监控主从复制的状态,并在主节点故障时自动将从节点切换为主节点。哨兵可以自动发现Redis服务器,并监控它们的状态,当发现主节点宕机时,会通过投票的方式选举新的主节点,并将从节点切换为新的主节点的从节点。哨兵可以保证Redis的高可用性,并且可以自动完成主从切换,从而减少人工干预的工作量。 3. 集群 Redis集群是一种分布式的Redis系统,可以将多个Redis服务器组成一个逻辑上的整体,并支持横向扩展。Redis集群采用分片的方式存储数据,将数据分散到多个节点上,从而提高Redis的可用性和性能。Redis集群可以自动完成节点的发现和管理,并支持数据的备份和恢复,从而保证Redis的高可用性和数据的安全性。 总之,主从复制哨兵和集群是Redis实现高可用性的重要手段,可以提高Redis的可用性和性能,并保证数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IsLuNaTiC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值