pikiwidb icon indicating copy to clipboard operation
pikiwidb copied to clipboard

Raft 集群进度

Open Mixficsol opened this issue 1 year ago • 4 comments

待做事项

raft

  • [x] 引入 braft @Panlei-coder #130
  • [x] 实现 Redis Raft 命令,实现 RAFT.CLUSTER INIT, RAFT.CLUSTER JOIN, RAFT.NODE ADDRAFT REMOVE 命令 @KKorpse & @Panlei-coder #136 #221
  • [x] Check Point @dingxiaoshuai123 #226
  • [x] apply 支持,完成 praft 添加 binlogon_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

Mixficsol avatar Apr 15 '24 07:04 Mixficsol