raft:Go中的筏式实施

时间:2024-05-18 15:34:16
【文件属性】:

文件名称:raft:Go中的筏式实施

文件大小:195KB

文件格式:ZIP

更新时间:2024-05-18 15:34:16

Go

:person_rowing_boat: 筏 这是Go中Raft分布式共识算法的指导性实现。 它伴随着一系列博客文章: 该存储库中的每个partN目录都是博客文章系列N部分的完整源代码(第0部分除外,该部分是入门性的,没有代码)。 在不同的partN目录之间有很多重复的代码-这是一个有意识的设计决策。 我选择使代码尽可能简单,而不是抽象和重用实现的各个部分。 每个目录都是完全独立的,可以单独读取和删除。 使用图形化的差异工具查看零件之间的差异可能具有指导意义。 如何使用这个储存库 您可以阅读代码,但是我也鼓励您运行测试并观察打印出来的日志。 该存储库包含一个有用的工具,可用于可视化输出。 这是一个完整的用法示例: $ cd part1 $ go test -v -race -run TestElectionFollowerComesBack |& tee /tmp/raftlog ... logging output ...


【文件预览】:
raft-master
----.gitignore(269B)
----part1()
--------go.mod(84B)
--------testharness.go(4KB)
--------server.go(5KB)
--------raft.go(9KB)
--------raft_test.go(4KB)
--------dochecks.sh(52B)
--------go.sum(175B)
--------dotest.sh(140B)
----part2()
--------go.mod(84B)
--------testharness.go(8KB)
--------server.go(5KB)
--------raft.go(16KB)
--------raft_test.go(8KB)
--------dochecks.sh(52B)
--------go.sum(175B)
--------dotest.sh(146B)
----LICENSE(1KB)
----part3()
--------go.mod(84B)
--------testharness.go(9KB)
--------server.go(5KB)
--------raft.go(20KB)
--------raft_test.go(14KB)
--------dochecks.sh(52B)
--------go.sum(175B)
--------storage.go(943B)
--------dotest.sh(146B)
----tools()
--------raft-testlog-viz()
----README.md(3KB)
----raftlog-screenshot.png(165KB)

网友评论