美文网首页
Redis 复制初体验

Redis 复制初体验

作者: 莫那一鲁道 | 来源:发表于2018-08-03 22:23 被阅读46次

前言

在分布式系统中,为了解决单点问题,通常会把数据复制多个副本部署在其他机器,满足故障恢复和负载均衡等需求。Redis 也是如此,他为我们提供了复制功能,实现类相同数据的多个 Redis 副本。复制功能是 Redis 高可用的基础,Redis 的哨兵和集群都是在此基础上实现的。


1 复制的配置

1. 如何建立复制?
  • 配置文件中加入 slaveof {masterIp} {masterport}
  • redis-server 命令后加入 --slaveof {masterIp} {masterport}
  • 直接在从节点 redis-cli 中执行 slaveof {masterIp} {masterport}

建立复制后,主节点的每次修改命令都会用异步的方式发送到从节点。

2. 如何断开复制链接?
  • 在从节点执行 slaveof no one

注意:当从节点从旧的主节点断开后,然后接入到新的节点,从节点会删除所有旧的数据。

3. 连接的安全

对于数据比较重要的节点,主节点会通过 requirepass 参数进行密码验证,这时所有的客户端访问必须使用 auth 命令进行校验,因此需要在从节点胚子 masterauth 参数与主节点密码保持一致,这样从节点才可以正确的连接到主节点并发起复制流程。

4. 只读

默认情况下,从节点使用 alave-read-only=yes 配置为只读模式。由于复制只能从主节点到从节点,对于从节点的任何修改,主节点都是无法感知的,修改从节点会造成数据不一致。因此,建议不要修改这个配置。


2 拓扑

1. 一主一从

一主一从是最简单的复制拓扑结构,用于主节点出现宕机时,从节点提供故障转移支持。

注意:如果主节点因为提高性能关闭了 AOF 持久化功能,同时,主节点自动重启了,如果从节点继续复制主节点的话,从节点的数据也会被清空!

所以,如果想保留数据,正确的做法是先断开从节点和主节点的连接,然后再重启主节点。类似于一种故障转移机制。

2. 一主多从

一主多从,又称星形拓扑结构,使得应用端可以利用多个从节点实现读写分离,对于读占比较大的场景,可以通过多个读节点分担主节点压力。

同时,在日常开发中,一些耗时命令(keys,sort),可以在其中一台上执行,防止干扰其他请求。

但是:如果写并发量很高,多个从节点会导致主节点写命令的多次发送从而过度消耗网络带宽,同时也加重了主节点负载影响服务稳定性。

3. 树形结构

又称(树状拓扑结构),使得从节点不但可以复制主节点数据,同时可以作为其他从节点的主节点继续向下复制。通过引入复制中间层,一主多从的缺点(多个从节点导致的消耗过多网络带宽)就解决了。

但是,也带来了新的问题,如下图:

如果图中节点故障,那么后面的节点也将无法收到主节点的信息,因此对于运维来讲,增添了许多复杂度,需要手动将节点启动。

总结

本文只是简单介绍了一下 redis 复制相关的内容,包括如何建立复制,断开复制,复制连接的安全,复制的只读状态,还有 Redis 拓扑相关,例如一主一从,一主多从,树形结构。

下一篇文章将重点介绍 Redis 复制的原理。

引用

《Redis 开发与运维》

相关文章

  • Redis 复制初体验

    前言 在分布式系统中,为了解决单点问题,通常会把数据复制多个副本部署在其他机器,满足故障恢复和负载均衡等需求。Re...

  • Redis主从复制

    Redis主从复制 一.主从复制介绍 1.Redis复制功能介绍 1)Redis 使用异步复制。从 Redis2....

  • redis主从复制和sentinel

    redis 主从复制 一. 复制 Redis 的复制(replication)功能允许用户根据一个 Redis服务...

  • redis-cluster 集群搭建方案

    下载redis 源码包,编译安装redis 修改redis 参数 复制几个不同的redis 服务节点 修改复制的服...

  • Redis|主从复制与哨兵机制

    1. Redis主从复制 1.1 Redis主从复制 Redis主从复制主要有两个角色,主机(master)对外提...

  • 【Redis学习笔记】13 Redis 主从复制

    1. Redis 主从复制特性 2. Redis 主从复制流程 3. Redis 主从复制操作 IP地址端口角色1...

  • Redis的复制(Master | Slave)

    Redis的复制(Master | Slave) 1.Redis复制简介 行话:也就是我们所说的主从复制,主机数据...

  • Redis复制

    1、redis复制是什么? redis复制,也就是我们所说的主从复制(master/slaver机制)。根据配置和...

  • k3s operator 方式 安装 redis 无中心集群

    redis有单机,复制,分片这几种方式 复制就是把一个redis的数据,复制到另外一个redis, 分片就是把ke...

  • redis(二)

    Redis用户认证 禁用危险命令 主从复制的过程 主从复制的部署 哨兵 Redis哨兵+主从+密码 Redis哨兵...

网友评论

      本文标题:Redis 复制初体验

      本文链接:https://www.haomeiwen.com/subject/ykglvftx.html