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使用手册》(试读版)Note: 在测试以上两段代码的时候, 请务必以正确的编码⽅式打开客户端(第⼀段代码采⽤⽂本⽅式,第⼆段 代码采⽤⼆进制⽅式), 否则测试代码将会出现编码错误。 2.5 示例:锁 锁是⼀种同步机制, 它可以保证⼀项资源在任何时候只能被⼀个进程使⽤, 如果有其他进程想要使⽤相同的资 源, 那么它们就必须等待, 直到正在使⽤资源的进程放弃使⽤权为⽌。 ⼀个锁实现通常会有获取(acquire)和释放(release)这两种操作: 当字符串键储存的值能够被 Redis 解释为整数时, ⽤户就可以通过 INCRBY 命令和 DECRBY 命令, 对被储存的整 数值执⾏加法操作或是减法操作。 INCRBY 命令⽤于为整数值加上指定的整数增量, 并返回键在执⾏加法操作之后的值: INCRBY key increment 以下代码展示了如何使⽤ INCRBY 命令去增加⼀个字符串键的值: redis> SET number 100 OK integer or out of range 另外需要注意的⼀点是, INCRBY 和 DECRBY 的增量和减量也必须能够被 Redis 解释为整数, 使⽤其他类型的值作 为增量或减量将返回⼀个错误: redis> INCRBY number 3.14 -- 不能使⽤浮点数作为增量 (error) ERR value is not an integer or out of range0 码力 | 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_to_pika • 将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 版 产品简介。 单节点架构: 适用于纯缓存场景,支持单节点集群弹性变配,满足高 QPS 场景,提供超高性价比。 双机热备架构:系统工作时主节点(Master)和备节点(Slave)数据实时同步,主节点故障时系统 自动秒级切换,备节点接管业务,全程自动且对业务无影响,主备架构保障系统服务具有高可用性。 集群架构:集群(cluster)实例采用分布式架构,每个节点都采用一主一从的高可用架构,自动容灾 Redis 标准版-单副本 简介 标准版-单副本是云数据库 Redis 推出的一种新系列,采用单个数据库节点部署架构。与双副本版本相比,它只 包含一个节点,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯 缓存业务场景使用。 云数据库 Redis 版 产品简介 9 特点 高性价比 Redis 标准版-单副本架构采用单节点部署。阿里云自研的 以进行增量的 Redis 迁移,保 证业务平稳过渡。 阿里云自研 故障探测切换系统(HA) 阿里云 Redis 服务封装 HA 切换系统,时时探测主节点的异常情况,可以有效解决磁盘 IO 故障,CPU 故障等问题导致的服务异常,及时进行主备切换从而保证服务高可用。 主备复制机制 阿里云针对 Redis 主从复制机制进行了定制修改,采用增量日志格式进行复制传输。当主备0 码力 | 33 页 | 1.88 MB | 1 年前3
常见Redis未授权访问漏洞总结ZooKeeper 的认证配置。 Rsync 未授权访问漏洞 漏洞简介以及危害 Rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间 的文件,也可以同步本地硬盘中的不同目录。Rsync 默认允许匿名访问,如果在配置文件中没有相关的 用户认证以及文件授权,就会触发隐患。Rsync 的默认端口为 837。 漏洞利用0 码力 | 44 页 | 19.34 MB | 1 年前3
共 6 条
- 1













