1个不稳定版本
0.1.0 | 2021年7月25日 |
---|
#1911 in 算法
245KB
6K SLoC
sdcons
sdcons
是地理复制分布式一致性算法的实现。它基于以下论文
SDPaxos:构建高效的半去中心化地理复制状态机(ACM云计算研讨会2018年,SoCC '18)
与原始SDPaxos一样,sdcons
在现实配置(使用三个或五个节点部署)下提供单跳延迟的读写能力。
此外,我将Raft算法中提到的某些优化移植到SDPaxos中。包括
- 日志任期
- 领导者选举
- 领导权转移
- 成员配置(联合共识)
- 批量 & 管道日志复制
- 租约读取
这些优化使得SDPaxos更容易实现和验证。
然而,当前的 sdcons
尚未实现SDPaxos论文中提到的 慢节点检测。
与SDPaxos不同,sdcons
使用术语 channel
来表示Paxos提交进度。Ordering实例表示为Index,Command实例表示为Entry。因为使用术语索引来表示Ordering实例,所以我选择术语ID来在Raft中表示索引。
目前,sdcons尚未进行基准测试和相关的性能优化。
如何使用
请参阅 examples/
。
致谢
感谢etcd提供了惊人的Raft Go实现!
依赖项
~2–3MB
~57K SLoC