Redis主从架构

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 当看到图示中红色标记的,就代表从节点挂载成功了。

Redis主从架构




主从架构搭建


1. 复制一份6379主节点redis.conf 文件
2. 将相关配置修改为如下:
    port 6380
    pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件
    logfile "6380.1og"
    dir /usr/local/redis-5.9.3/data/6380 #指定数据存放目录

3、配置主从复制
replicaof 192.168.170.11 6379
replica-read-only yes

Redis 5.0之前使用 
slaveof 192.168.0.60 6379 #从本机6379的redis实例复制数据,
slave-read-only yes # 配置从节点只读

4.启动从节点
redis-server redis.conf

5.连接从节点
redis-cli -p 6380

6.测试在6379实例上写数据,6380实例能否能及时同步新修改数据

7.可以自己在配置一个6381从节点


当看到图示中红色标记的,就代表从节点挂载成功了。


Redis主从工作原理(集群和哨兵模式的基础,重要)

如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,slave都会发送一个PSYNC命令给master请求复制数据。master收到PSYNC命令后,会在后合进行数据持久化通过bgsave生成最新的rdb快照文件,持久化期间,master会然续接收客户端的请求,它会把这些可能修改数据集的请求缓存在内存中。当持久化进行完毕以后,master会把这份rdb文件数据集发送给slave,slave会把接收到的数据进行持久化到rdb,然后再加载到内存中。然后,master再将之前缓存在内存中的命令发送给slave.当master与slave之间的连接由于某些原因而断开时,slave能够自动重连Master,如果master收到了多个slave并发连接请求,它只会进行一次持久化,而不是一个连接一次,然后再把这一份持久化的数据发送给多个并发连接的slave。


redis主从第一次全量同步



redis主从部分同步(当从节点挂掉重启之后)




关于repl backlog


可通过repl-backlog-size 1mb 配置缓存大小,缓存里面最多可以存几分钟的数据
lave长时间挂掉了,怎么办?


只能通过全量复制来保证数据一致性


Redis主从复制风暴


什么是主从复制风暴: 就是有很多的从节点直接挂载到一个主节点上,这样会导致主节点压力非常大。


可以通过从节点挂载从节点的方式,让部分从节点与从节点同步数据




相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
打赏
0
0
0
0
8
分享
相关文章
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
113 4
【赵渝强老师】基于Redis的旁路缓存架构
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
107 8
(十三)全面理解并发编程之分布式架构下Redis、ZK分布式锁的前世今生
本文探讨了从单体架构下的锁机制到分布式架构下的线程安全问题,并详细分析了分布式锁的实现原理和过程。
140 6
|
7月前
|
Redis 主从复制架构配置及原理
Redis 主从复制架构配置及原理
91 5
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis安装(单机、主从、哨兵、集群)
Redis安装(单机、主从、哨兵、集群)
181 1
分布式缓存之Redis(持久化、主从、哨兵、分片集群)
分布式缓存之Redis(持久化、主从、哨兵、分片集群)
轻松掌握组件启动之Redis单机、主从、哨兵、集群配置
这篇文章介绍了Redis的单机配置启动和主从架构、哨兵、集群搭建方法。无论你是初学者还是有一定经验的开发者,这篇文章都能为你提供实用的指导,让你轻松掌握Redis的配置和架构搭建。
167 0