1个不稳定版本

0.1.0 2021年7月25日

#1911 in 算法

Apache-2.0

245KB
6K SLoC

logo

sdcons

Build Status

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