codedump的电报频道
5.52K subscribers
218 photos
8 videos
7 files
796 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#博客 #分布式 #Raft #etcd

之前对etcd raft的wal、快照部分理解的不够深入,导致一些问题理解的不到位,于是单独整理了一篇这部分的分析:

https://www.codedump.info/post/20210628-etcd-wal/

看完之后应该能回答这个问题:follower节点是在收到leader节点的日志广播之后,还是在日志达成一致之后,才将日志落盘到WAL的?为什么以及恢复流程是怎样的?

写完这篇博客之后,发现我已经写了5篇raft、etcd的文章了,其中第一篇是纯的raft原理篇,其余4篇都是结合etcd来分析其raft实现的。


我应该不用再写etcd的raft实现分析文章了吧 🙂 #flag
#Raft
我们新开的Rust版本raft实现的坑,基于开源的async-raft做了很多优化、修改。

raft的Rust版本实现,之前已经有tikv的仿etcd实现了,对比起来:etcd版本是个完全同步的流程,使用者和raft层通过Ready结构体进行交互,使用者拿到Ready数据之后,再自己做网络、存储等操作;async-raft集成了tokio,是一个全异步的实现,需要用户使用时提供的网络、存储trait实现。

@drdrxp 为我们修改的版本,大体写了几个待优化的技术点,见:
https://www.douban.com/people/2135060/status/3711825327/?_i=1262986DTua3Gc

https://github.com/datafuselabs/openraft
#共识算法
#Raft
有一点后知后觉,Raft论文的两位作者分别是Diego Ongaro和John Ousterhout,前者是后者的研究生,Diego Ongaro正是在读博士期间和自己的导师John Ousterhout一起完成了Raft论文。

John Ousterhout在前几年出了一本流传甚广的软件设计书籍《A Philosophy of Software Design》(中文名《软件设计的哲学》),同时他还是Tcl的作者。
❤12
Raft_Consensus_For_Humans.pdf
12 MB
#共识算法
#Raft

NotebookLLM生成的Raft可视化文档
👍10