Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题, DRC 概念的出现, 让大家对分布式存储 又有了新的期待 Data Replication Center 目前携程的应用也在进行单元化的部署模0 码力 | 45 页 | 1.74 MB | 1 年前3
携程 Redis 多数据中心 双向同步实践 祝辰携程 Redis 多数据中心 双向同步实践 祝辰 祝辰 目前任职携程框架架构部门资深 研发工程师 负责框架Redis团队的开发工作 目录 1 业务背景 2 3 双向同步 4 CRDT 高可用 开篇 & 背景 Redis 在携程的规模 25,000,0 00 QPS 2000+Clust er 200TB + 跨公网同步 SHANGHAI CANADA 仓位信息供应商 国内 海外 单向同步 • 单向同步可以解决 海外重复收费的问 题 • 无法解决上海重复 收费的问题 业务痛点 仓位信息供应商 国内 海外 双向同步 • 我们希望可以通过 Redis的双向同步 解决重复收费的问 题 双向同步 Redis双向同步 双向同步 Redis Master Redis Master Redis双向同步 1. slaveof• slaveof命令 • redis变成slave, 同步数据 • Slave无法写入 Redis双向同步 1. peerof 2. Sync data • 新的命令“peerof” • 同步数据 • 继续保持Master的 角色 如何解决 • 新的协议支持 双向同步 • 兼容Slaveof命 令 slaveof slaveof 0 码力 | 33 页 | 2.15 MB | 1 年前3
阿里云云数据库 Redis 版 产品简介景。 单节点架构: 适用于纯缓存场景,支持单节点集群弹性变配,满足高 QPS 场景,提供超高性价比。 双机热备架构:系统工作时主节点(Master)和备节点(Slave)数据实时同步,主节点故障时系统 自动秒级切换,备节点接管业务,全程自动且对业务无影响,主备架构保障系统服务具有高可用性。 集群架构:集群(cluster)实例采用分布式架构,每个节点都采用一主一从的高可用架构,自动容灾 Redis 标准版-单副本 简介 标准版-单副本是云数据库 Redis 推出的一种新系列,采用单个数据库节点部署架构。与双副本版本相比,它只 包含一个节点,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯 缓存业务场景使用。 云数据库 Redis 版 产品简介 9 特点 高性价比 Redis 标准版 原生复制的弊端。 Redis 原生复制弊端简要如下: Redis 复制中断后,Slave 会立即发起 psync,psync 尝试部署同步不成功,就会 全量同步 RDB 并发送至 Slave 节点。 如果 Redis 全量同步,会导致主节点执行全量备份,进程 Fork,可造成主节点达 到毫秒或秒级的卡顿。 Redis 进程 Fork 导致 Copy-On-Write0 码力 | 33 页 | 1.88 MB | 1 年前3
《Redis使用手册》(试读版)Note: 在测试以上两段代码的时候, 请务必以正确的编码⽅式打开客户端(第⼀段代码采⽤⽂本⽅式,第⼆段 代码采⽤⼆进制⽅式), 否则测试代码将会出现编码错误。 2.5 示例:锁 锁是⼀种同步机制, 它可以保证⼀项资源在任何时候只能被⼀个进程使⽤, 如果有其他进程想要使⽤相同的资 源, 那么它们就必须等待, 直到正在使⽤资源的进程放弃使⽤权为⽌。 ⼀个锁实现通常会有获取(acquire)和释放(release)这两种操作: BRPOPLPUSH 命令从 Redis 2.2.0 版本开始可⽤。 4.20 示例:带有阻塞功能的消息队列 在构建应⽤程序的时候, 我们有时候会遇到⼀些⾮常耗时的操作, ⽐如发送邮件、将⼀条新微博同步给上百万个 ⽤户、对硬盘进⾏⼤量读写、执⾏庞⼤的计算等等。 因为这些操作是如此耗时, 所以如果我们直接在响应⽤户请 求的过程中执⾏它们的话, 那么⽤户就需要等待⾮常⻓时间。 ⽐如说, 为了验证⽤户身份的有效性, 息, 如果队列为空的时间⽐较⻓, 那么这个程序就会发送很多多余的 LPOP 命令, 并因此浪费很多 CPU 资源和 ⽹络资源。 4.20.2 使⽤消息队列实现实时提醒 消息队列除了可以在应⽤程序的内部中使⽤, 还可以⽤于实现⾯向⽤户的实时提醒系统。 ⽐如说, 如果我们在构建⼀个社交⽹站的话, 那么可以使⽤ JavaScript 脚本, 让客户端以异步的⽅式调⽤ MessageQueue 类的0 码力 | 352 页 | 6.57 MB | 1 年前3
陈宗志:大容量redis存储方案--Pika源 SACC2017 Redis 问题 90/GB VS 2.6/GB 30倍的差距 SACC2017 问题分析 • 成本问题 • 可用性问题 • 同步问题 • 易用性问题 SACC2017 问题分析 • 尽可能兼容redis 协议 • 使用基于磁盘的存储引擎rocksdb 实现多 数据接口接口 • 网络库 • 添加binlog 日志模块--Binlog • Binlog – 顺序写文件, 通过Index + offset 进行同步点 检查 – 解决了缓冲区小的问题 – 支持全同步 + 增量同步 SACC2017 日志模块--Binlog SACC2017 主从同步-- slaveof SACC2017 主从同步-- slaveof SACC2017 Pika 遇到问题 • 秒删 – 通过修改Rocksdb • 将redis数据迁移到pika,基于aof,能全量+增量方式同步数 据(Note关闭aof重写) – Pika_to_redis • 业务增长过快,pika逐渐难以支持性能,将pika迁回redis, 支持增量数据同步 – Ssdb_to_pika • 将ssdb数据迁移到pika,目前不支持增量同步 SACC2017 Pika 运维 – 案例一 消息推送服务部分redis迁移到pika0 码力 | 47 页 | 2.18 MB | 1 年前3
常见Redis未授权访问漏洞总结ZooKeeper 的认证配置。 Rsync 未授权访问漏洞 漏洞简介以及危害 Rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间 的文件,也可以同步本地硬盘中的不同目录。Rsync 默认允许匿名访问,如果在配置文件中没有相关的 用户认证以及文件授权,就会触发隐患。Rsync 的默认端口为 837。 漏洞利用0 码力 | 44 页 | 19.34 MB | 1 年前3
阿里云云数据库 Redis 版 快速入门ID、状态、已用内存及配额、可用区、创建时间、付费方式、网络类型等信息。 注意:已用内存及配额信息是由底层系统根据采集信息进行的一个离线汇总,所以有一个时间延时,这个 延时会在10分钟左右。如果需要查看实时信息,建议登录 DMS 进行查看,详细步骤请参见DMS 登录云 数据库。 可运维时间段 您可以在实例信息页面对可运维时间进行修改,阿里云会在可运维时间对实例进行生产维护,维护期间可能会0 码力 | 29 页 | 1.07 MB | 1 年前3
共 7 条
- 1













