百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

raft

> 编程语言
开源

用于维护复制状态机的 Raft 库

1.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

用于维护复制状态机的 Raft 库

Raft 是一种协议,用于使节点集群维护复制的状态机。状态机通过使用复制日志来保持同步。有关 Raft 的更多详细信息,请参阅 Diego Ongaro 和 John Ousterhout 的"寻找一个易于理解的共识算法"(https://raft.github.io/raft.pdf)。

大多数 Raft 实现都采用单体设计,包括存储处理、消息序列化和网络传输。本库采用极简设计理念,仅实现核心 Raft 算法。这种极简设计带来了灵活性、确定性和性能。为了保持代码库的小巧以及提供灵活性,本库仅实现 Raft 算法;网络和磁盘 IO 都由用户来实现。库用户必须实现自己的传输层,以在网络上将 Raft 伙伴之间的消息传递。同样,用户必须实现自己的存储层,以持久化 Raft 日志和状态。

为了便于测试 Raft 库,其行为应是确定的。为了实现这种确定性,该库将 Raft 模拟为一个状态机。该状态机接受一个 Message 作为输入。一个消息可以是本地定时器的更新,也可以是来自远程对等体的网络消息。状态机的输出是一个包含 Messages、log entries 和 Raft 状态更改 的 3 元组 {[]Messages, []LogEntries, NextState}。对于具有相同状态的状态机,相同的状态机输入总是会生成相同的状态机输出。

一个简单的示例应用程序 raftexample 也可用于帮助说明如何在实际中使用此包:

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Goconsensusdistributed-systemsraft

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言