Raft 协议的未维护的 C 实现
此项目不再维护 ============================
如果您依赖 dqlite 但不直接依赖 raft,请参阅 canonical/dqlite 以获取最新的指南,了解如何使用 dqlite 附带的 raft 构建配置。如果您以前依赖 dqlite 的 libraft,则应切换到维护的分支 cowsql/raft。对于此变更的任何问题,请参阅 dqlite 仓库上的 讨论主题。本 README 的其余部分仅具有历史意义。
库具有模块化设计:其核心部分仅实现了核心的 Raft 算法逻辑,并且完全独立于平台。此外,一个可插拔的接口定义了网络 I/O 实现(发送/接收 RPC 消息)和磁盘持久化(存储日志条目和快照)。在使用默认选项构建库时,提供了一个 I/O 接口的默认实现。它基于 libuv,适用于绝大多数用例。唯一的限制是,目前它需要 Linux,因为它使用 Linux AIO API 进行磁盘 I/O。欢迎提交补丁以支持更多平台。
许可证-------
此浮桶 C 库以 LGPLv3 的一个轻微修改版本发布,其中包含一项版权例外,允许用户在自己的项目中静态链接库代码,并根据自己的条款发布最终作品。请参阅完整的 许可证 文本。
暂无开放 Issues,或尚未同步最近议题。