05.Redis架构之主从复制

一、Redis主从复制架构的介绍

## 基本介绍

01:一个主可以有多个从(一主多从);从库下可以有多个从(级联式主从);
02:Redis主从复制时是使用异步复制(主不管slave有没有接收到数据);
03:复制时不会阻塞主服务器响应客户端的请求,因为在进行数据同步时,
    主上面执行bgsave命令for出一个子进程来进行数据的同步操作;
04:在复制时可能会影响slave端redis的主进程对客户端的响应;在2.8版本
    以后,slave默认是只读的哈?
    例如:主从复制架构,写是在master端进行,你通过手段做了读写分离,
    让客户端在slave中进行读的操作,此时slave在同步(不管全同步,还是
    增量同步)master端的数据时会不会阻塞客户端的读取操作呢?
    解答:这个其实是由参数slave-serve-stale-data控制的,它有两个值,
    yes和no;yes表示仍然响应,可能数据不是最新的;默认就是yes;no表示
    不响应,给客户端报"SYNC with master in progress"错误;
05:主从复制架构中,Master端需要开启持久化嘛?这个得根据需求:
    A:对数据没有持久化的需求,Master和slave都可以不开启的;
    B:对数据有持久化的需求,Master端不开启,slave端开启,这样会有危险的哈?
       因为一但master端重启后,master端是没有数据的,同时也会销毁slave端之前
       的持久化数据;

## 为什么要用主从复制

01:在对数据有持久化需求的情况下:
    A:对master上的数据做一份数据副本,相当于逻辑上的异地数据灾备;
    B:可以结合高可用软件(开源的keepalived或redis自带的sentinel)做高可用;
02:在对数据没有持久化需求的情况下:
    可以结合高可用软件(开源的keepalived和redis自带的sentinel)做高可用;

二、主从复制的原理

原文地址:https://www.cnblogs.com/chenliangc/p/12340016.html

时间: 2024-10-25 22:47:48

05.Redis架构之主从复制的相关文章

redis 之redis-sentinel主从复制高可用

一.redis主从复制背景问题 Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用: (1)一旦主节点宕机,从节点作为主节点的备份可以随时顶上来. (2)扩展主节点的读能力,分担主节点读压力. 但是问题是: 一旦主节点宕机,从节点上位,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所有从节点复制新的主节点 那么这个问题,redis-sentinel就可以解决了 二. Redis-Sentinel Redis-Sentinel是redis官方推荐的高

redis架构详解

一.redis特性1.redis 是什么?redis是基于内存的可持久化的key-value数据库2.redis数据结构类型?value支持五种数据类型,字符串.字符串列表.字符串集合.有序集合.hashs3.redis持久存储方式redis两种持久化方式,RDB,和AOFRDB: 将某一时刻的数据持久化到磁盘上,是一种快照式的持久方式, redis在进行持久化的过程中,会先将数据写入临时文件中,待持久化过程结束,会用这个临时文件,替换上次持久化的文件,正是这种特性,让我们可以随时来进行备份,因

Redis中的主从复制

上一篇简单的介绍了Redis中的快照,那么这篇来了解一下redis中的主从复制,不得不说redis中的主从复制配置起来相当的简单,用来降低每个redis服务器的负载,并启动主从模式,一个服务器负载"写"数据,其他服务器负载"读"数据,并且主服务器数据会"自动"同步给从服务器. 下面就来简单的配置一下 同样需要编辑redis.conf文件 在上面指定从的ip和端口号即可,当然配置好后,那么默认的从服务器是没有写入的权限的,需要修改以下配置

如何搭建高可用redis架构?

1 题记 Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API. 如今,互联网业务的数据正以更快的速度在增长,数据类型越来越丰富,这对数据处理的速度和能力提出了更高要求.Redis 是一种开源的内存非关系型数据库,给开发人员带来的体验是颠覆性的.在自始至终的设计过程中,都充分考虑高性能,这使得 Redis 成为当今速度最快的 NoSQL 数据库. 考虑高性能的同时,高可用也是很重要的考虑因素.互联网 7

Redis架构之防雪崩设计:网站不宕机背后的兵法

Redis架构之防雪崩设计:网站不宕机背后的兵法 原创: 付磊,张益军 高可用架构 2017-03-24 导读:互联网系统中不可避免要大量用到缓存,在缓存的使用过程中,架构师需要注意哪些问题?本文以 Redis 为例,详细探讨了最关键的 3 个问题. 一.缓存穿透预防及优化 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存储层查不到数据则不写入缓存层,如图 11-3 所示整个过程分为如下 3 步: 缓存层不命中 存储层不命中,所以不将空结果写回缓存 返

Redis03——Redis架构

Redis架构 1.1.问题 redis是单线程,单实例,为什么并发那么多,依旧很快呢? 回答:因为调用了系统内核的epoll 1.2.Linux的早期版本 Linux有Linux kernal,我们的客户端,进行连接,首先到达的是Linux kernal,在Linux的早期版本,只有read和write进行文件读写.我们使用一个线程/进程 进行调用read和write函数,那么将会返回一个文件描述符fd(file description).我们开启线程/进程去调用read进行读取.因为sock

redis 安装及主从复制

安装redis下载redis源码,并进行相关操作,如下:wget http://download.redis.io/releases/redis-3.2.3.tar.gz解压安装redis[[email protected] ~]# tar zxf redis-3.2.3.tar.gz解压完毕后,现在开始安装,如下:[[email protected] ~]# cd redis-3.2.3/[[email protected] redis-3.2.3]# make&& make insta

使用Sentinel机制实现Redis高可用主从复制

Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 一.Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.con

细说分布式Redis架构设计和踩过的那些坑

摘要:本文章主要分成五个步骤内容讲解 Redis.RedisCluster和Codis; 我们更爱一致性; Codis在生产环境中的使用的经验和坑们; 对于分布式数据库和分布式架构的一些看法; Q & A环节. Codis是一个分布式Redis解决方案,与官方的纯P2P的模式不同,Codis采用的是Proxy-based的方案.今天我们介绍一下Codis及下一个大版本RebornDB的设计,同时会介绍一些Codis在实际应用场景中的tips.最后抛砖引玉,会介绍一下我对分布式存储的一些观点和看法