2个版本

新版本 0.1.3 2024年8月24日
0.1.1 2024年8月24日

22#sans-io 中排名

Download history 146/week @ 2024-08-19

每月146次下载

Apache-2.0

4KB

如果将Google的Chubby作为一个自给自足的Rust库和“ trivially”有用的二进制文件来实现,这是一个我向自己提出的问题,这个项目就是一些对这个问题的尝试。

目前,一切都不工作,这个项目是富有远见的。从那里开始,希望它将变成实验性的,然后……也许,只是也许,我们可以得到一个功能齐全的Chubby克隆,可以达到“可持续”维护。

目标

  • Sans-I/O实现所有“支持”的功能——即一个完全描述的状态机,该状态机对网络层/异步等没有任何规定。
  • 支持小于1MB的内存中的锁文件
  • 在所有对等节点之间完全复制锁文件,仅在达到写法定多数后进行写确认
  • 一个完整的gRPC服务器实现
  • 完整的测试覆盖率
  • 为Sans-I/O核心的完整验证套件

非目标

  • 将锁文件写入磁盘等。如果你想这样做,请编写一个包装器或客户端来管理它。
  • 支持你选择的分布式一致性算法
  • 低延迟。Hubby承诺你的延迟将会很高。领导者选举应该故意而且不急于进行 ;)

项目结构

  • /hubby 包表示服务器/服务。它将包含一个gRPC库,可以从任何“嵌入”服务器中暴露出来,以及一个用于通用用途的独立服务器二进制文件。
  • /hubby-core 包表示Hubby服务的核心Sans-I/O库。

名字的由来?2) Hubby是你在分布式系统旅程中的支持伙伴。

  1. Chubby风格的锁定服务通常代表分布式系统的共识和配置中心——因此是hub-by。
  2. Hubby与原始论文的编辑距离为一。

无运行时依赖