陈宗志:大容量redis存储方案--Pika捷运维设计的前提下通过持久化存储的方式解决 Redis 在大容量场景下的问题 Pika 定位 SACC2017 Redis 问题 • 恢复时间长 • 一主多从, 主从切换代价大 • 缓冲区写满问题 • 成本问题 SACC2017 Redis 问题 • 恢复时间长 – 50G redis 回复时间70分钟 – 同时开启aof 和 rdb SACC2017 Redis 问题 • 一主多从, 主从切换代价大 – 主库挂掉后升级从库, 所有的从库全部重传数 据 SACC2017 Redis 问题 • 缓冲区写满问题 – 内存是昂贵资源, 缓冲区一般设置2G – 网络原因很容易将数据堵死, 那么就会发生大 量数据重传 SACC2017 Redis 问题 • 内存太贵 – 线上使用的redis 机器是 DB->Put(wop, Lmyhash11477671118, 6071) SACC2017 日志模块--Binlog • Binlog – 顺序写文件, 通过Index + offset 进行同步点 检查 – 解决了缓冲区小的问题 – 支持全同步 + 增量同步 SACC2017 日志模块--Binlog SACC2017 主从同步-- slaveof SACC20170 码力 | 47 页 | 2.18 MB | 1 年前3
阿里云云数据库 Redis 版 产品简介(integer) 1048576 9) "clients.slaves" // 主从复制用到的内存 10) (integer) 16858 11) "clients.normal" //普通用户客户端的读写缓冲区 12) (integer) 49630 13) "aof.buffer" //aof持久化使用的缓存和aofrewrite时产生的缓存之和 14) (integer) 3253 15) "db.0" fragmentation: fragmentation > 1.4,此时碎片率比较高 Big slave buffers: 每个slave缓冲区的平均内存超过10MB,原因可能是master写入流量过高 Big client buffers: 普通客户端缓冲区的平均内存超过200KB,原因可能是pipeline使用不当或者Pub/Sub客户端处 理消息不及时导致 云数据库 Redis 版 产品简介 切换系统,时时探测主节点的异常情况,可以有效解决磁盘 IO 故障,CPU 故障等问题导致的服务异常,及时进行主备切换从而保证服务高可用。 主备复制机制 阿里云针对 Redis 主从复制机制进行了定制修改,采用增量日志格式进行复制传输。当主备 复制中断后,对系统性能及稳定性影响极低,有效避免 Redis 原生复制的弊端。 Redis 原生复制弊端简要如下: Redis 复制中断后,Slave0 码力 | 33 页 | 1.88 MB | 1 年前3
《Redis使用手册》(试读版)服务器并不会限制客户端在流⽔线⾥⾯包含的命令数量, 但是却会为客户端的输⼊缓冲区设置默认 值为 1GB 的体积上限: 当客户端发送的数据量超过这⼀限制时, Redis 服务器将强制关闭该客户端。 因此⽤ 户在使⽤流⽔线特性时, 最好不要⼀下⼦把⼤量命令或者⼀些体积⾮常庞⼤的命令放到同⼀个流⽔线⾥⾯执 ⾏, 以免触碰到 Redis 的这⼀限制。 除此之外, 很多客户端本身也带有隐含的缓冲区⼤⼩限制, 如果你在使⽤流⽔线特性的过程中, 如果你在使⽤流⽔线特性的过程中, 发现某些流⽔ 线命令没有被执⾏, ⼜或者流⽔线返回的结果不完整, 那么很可能就是你的程序触碰到了客户端内置的缓冲区 ⼤⼩限制。 在遇到这种情况时, 请缩减流⽔线命令的数量及其体积, 然后再进⾏尝试。 13.2 示例:使⽤流⽔线优化随机键创建程序 在《数据库》⼀章的《示例:数据库取样程序》⼀节中, 我们曾经展示过代码清单 13-1 所示的程序, 它可以根 据⽤户给定的数量创建多个类型随机的数据库键。 Redis 服务器接收到 REPLICAOF 命令, 开始对另⼀个服务器进⾏复制的时候, 主从服务器会执⾏以下操 作: 1. 主服务器执⾏ BGSAVE 命令, ⽣成⼀个 RDB ⽂件, 并使⽤缓冲区储存起在 BGSAVE 命令之后执⾏的所有写 命令。 2. 在 RDB ⽂件创建完毕之后, 主服务器会通过套接字, 将 RDB ⽂件传送给从服务器。 3. 从服务器在接收完主服务器传送过来的 RDB0 码力 | 352 页 | 6.57 MB | 1 年前3
Redis 多数据中心双向同步 祝辰全量同步 • master 将自身数据库以快照形式(RDB文件)发送给 slave, slave 通过加载快照文件, 达到和 master 数据 一致的目的 • 适用于新添加 slave 或同步缓冲区溢出时, master 与 slave 同步 Redis Master-Slave Replication Full Sync • 由于物理上的限制, 一台机器不可能无限制地 Hold 所有的操作历史0 码力 | 45 页 | 1.74 MB | 1 年前3
共 4 条
- 1













