【概述】 raft中快照的实现逻辑
【问题】 当raft收到一个快照的请求后,是单独的线程池运行打快照的逻辑吗?这个会阻塞raft的请求吗?快照是使用rocksdb的snapshot然后遍历kv生成sst文件吗?快照的版本是如何跟raft apply id绑定的?
【概述】 raft中快照的实现逻辑
【问题】 当raft收到一个快照的请求后,是单独的线程池运行打快照的逻辑吗?这个会阻塞raft的请求吗?快照是使用rocksdb的snapshot然后遍历kv生成sst文件吗?快照的版本是如何跟raft apply id绑定的?
看下这个
TiKV Raft 快照全流程丨TiKV 源码解读(二十二) - 社区小助手 的专栏 - 专栏 - TiKV Raft 快照全流程丨TiKV 源码解读(二十二) | TiDB 社区
我看了这篇文章之后,还是对这些地方不是很清楚,所以发帖请教一下
Raft 收到快照请求后由独立线程池处理,不会阻塞 Raft 主线程,快照通过 RocksDB 的 Snapshot 遍历 KV 生成 SST 文件,并与 Raft 的 apply index 强关联以确保版本一致性。