1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年1月29日 |
---|
#10 在 #分布式锁
31KB
640 行
垃圾 — 类似于 Chubby,但用 Rust 实现 .. 垃圾。
垃圾是一个提供强一致性保证的锁服务和低容量存储服务,旨在为松耦合分布式系统提供基础。
这也是在 Rust 中编写一个完整应用程序的机会。
系统的组件如下
-
cas
-- 一个分布式、内容可寻址的内存存储系统。该系统使用“八卦”风格的协议确保所有参与者都有所有内容,并支持代际垃圾回收和持久化到磁盘。 -
fs
-- 一个类似于 Git 的版本化文件系统,基于cas
。这包括具有父提交和与每个提交关联的嵌套树结构的“提交”概念。 -
prax
-- 一个分布式共识服务,旨在对树形提交树的当前头部进行投票,并定义当前的“主”节点。 -
tip
-- 在树形和 prax 之上的一层,支持远程客户端操作,如读取、写入、检查和交换以及建议锁。提供的客户端接口是 HTTP。
整个应用程序当然是一个持续的工作。
待办事项
单主机
在不联网状态下完成此应用程序
- 实现 prax API
- 实现 tip HTTP API
- 在 cas 和 fs 之间实现代际垃圾回收
分发
- 构建网络接口
- 教会 cas 进行八卦
- 教会 prax 达成共识
杂项
- Travis
- 强制使用 rustfmt
- 运行覆盖率
依赖关系
~5MB
~73K SLoC