使用Go与redis构建有趣的应用了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) • 拥有⽆无限可能性的扩展模块系统:神经⽹网络、全⽂文搜索、JSON 数据结构等等。0 码力 | 176 页 | 2.34 MB | 1 年前3
2022年美团技术年货 合辑2 多主节点复制 前文介绍的主从复制模型中存在一个比较严重的弊端,就是所有写请求都需要经过主 后端 < 799 节点,因为只存在一个主节点,就很容易出现性能问题。虽然有从节点作为冗余应对 容错,但对于写入请求实际上这种复制方式是不具备扩展性的。 此外,如果客户端来源于多个地域,不同客户端所感知到的服务相应时间差距会非常 大。因此,有些系统顺着传统主从复制进行延伸,采用多个主节点同时承担写请求, 一般采用多主节点复制,都是为了做多数据中心容灾或让客户端就近访问(用一个高 800 > 2022年美团技术年货 大上的名词叫做异地多活),在同一个地域使用多主节点意义不大,在多个地域或者 数据中心部署相比主从复制模型有如下的优势: ● 性能提升:性能提升主要表现在两个核心指标上,首先从吞吐方面,传统的主 从模型所有写请求都会经过主节点,主节点如果无法采用数据分区的方式进行 负载均衡,可能存在性能 多个副本时,读到了 过期的数据,可以将数据写入到旧副本中,以便追赶上新副本。 2. 反熵查询,一些系统在副本启动后,后台会不断查找副本之间的数据 diff,将 diff 写到自己的副本中,与主从复制模式不同的是,此过程不保证写入的顺 序,并可能引发明显的复制滞后。 后端 < 809 读写 Quorum 上文中的实例我们可以看出,这种复制模式下,要想保证读到的是写入的新值,每次 只从0 码力 | 1356 页 | 45.90 MB | 1 年前3
共 2 条
- 1













