#博客 #分布式 #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
之前对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
我们新开的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
GitHub
GitHub - databendlabs/openraft: rust raft with improvements
rust raft with improvements. Contribute to databendlabs/openraft development by creating an account on GitHub.
#共识算法
#Raft
有一点后知后觉,Raft论文的两位作者分别是Diego Ongaro和John Ousterhout,前者是后者的研究生,Diego Ongaro正是在读博士期间和自己的导师John Ousterhout一起完成了Raft论文。
John Ousterhout在前几年出了一本流传甚广的软件设计书籍《A Philosophy of Software Design》(中文名《软件设计的哲学》),同时他还是Tcl的作者。
#Raft
有一点后知后觉,Raft论文的两位作者分别是Diego Ongaro和John Ousterhout,前者是后者的研究生,Diego Ongaro正是在读博士期间和自己的导师John Ousterhout一起完成了Raft论文。
John Ousterhout在前几年出了一本流传甚广的软件设计书籍《A Philosophy of Software Design》(中文名《软件设计的哲学》),同时他还是Tcl的作者。
豆瓣
软件设计的哲学
本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有...
❤12