pikiwidb
pikiwidb copied to clipboard
Raft 集群进度
待做事项
raft
- [x] 引入 braft @Panlei-coder #130
- [x] 实现 Redis Raft 命令,实现 RAFT.CLUSTER INIT, RAFT.CLUSTER JOIN, RAFT.NODE ADD, RAFT REMOVE 命令 @KKorpse & @Panlei-coder #136 #221
- [x] Check Point @dingxiaoshuai123 #226
- [x] apply 支持,完成
praft添加binlog和on_apply解析binlog并写入的逻辑 @lonfar-ncy #213 - [x] braft log index 映射 @lonfar-ncy #246
- [x] Raft 快照支持 @dingxiaoshuai123 & @Panlei-coder #238 #279
- [x] braft 快照自定义日志截断点 @Panlei-coder
- [x] flush event 时机 @dingxiaoshuai123
- [ ] 截断日志时,需要对一个 DB 下所有的 RocksDB 的结果进行聚合。
- [ ] 单独 cf 保存其它 cf flush 位点 @dingxiaoshuai123
- [ ] on_spapshot_load 区分自己安装快照 vs 自己正在启动 @Panlei-coder
- [ ] raft 读一致性的实现 @Panlei-coder
- [ ] 优雅关闭 pikiwidb @dingxiaoshuai123
- [ ] 单独 cf 保存其它 cf flush 位点
- [ ] braft 新增接口,判断两个 logindex 之间数据量
主从
- [ ] braft 主从模式 @KKorpse
- [ ] PikiwiDB 主从命令 @Panlei-coder
测试
- [ ] raft 测试 https://github.com/OpenAtomFoundation/pikiwidb/discussions/273
文档建设
- [ ] raft 集群操作文档 @Panlei-coder
优化点
- [ ] 优雅关闭 PikiwiDB
- [ ] logindex 维护的多队列优化
- [ ] braft 新增接口,判断两个 logindex 之间数据量
- [ ] 一个 rocksdb 一个 raft (优先级低)
- [ ] 1 我们可以将主动 Leader Election 的功能关闭,这样就不需要维护 Leader Lease 的心跳了 OR 2 将复制组之间的心跳合并到节点之间的心跳 ref braft raft