无锁编程实践:RocksDB ThreadLocalPtr剖析

前言 RocksDB被广泛应用在各种高性能场景中,如何能让向上层提供的接口拥有更小的延迟,是RocksDB一直追求的目标之一。对于一个系统来说,暂时忽略长尾场景,将critical path的时延降低是获......

RocksDB BlockBasedTable源码分析

前言 RockDB将一个SST文件称为一个表,针对业务场景不同,RocksDB提供了多种类型的表,其中BlockBasedTable是默认的并且最常用的表类型。因为BlockBasedTable涉及到R......

RocksDB文件结构

overview 本文总结于:https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format 整体上来说sst文件的结构如下: <beginning_of_file> [data block 1] [data block......

浅谈Raft配置变更(成员变更)策略

前言 本文参考的文献为: CONSENSUS-BRIDGING THEORY AND PRACTICE。这里所说的配置,是一个raft集群的拓扑。配置变更指的是从当前集群中增加一部分节点或者删除一部分节点。在真实的生产环境中,因为各种原因,节点的上线/下线是......