go-paxos 是一个 Go 实现的多组Paxos共识算法库
- 基于Lamport的 Paxos Made Simple 进行工程化,不进行任何算法变种。
- 每次写盘使用fsync严格保证正确性。
- 在一个节点上一次 Propose 的Latency为一次RTT。
- 节点主动向其他节点进行点对点快速学习。
- snapshot。
- 运行过程中节点的动态变更。
- master 选举。
OS: Ubuntu 18.04
CPU: Intel Core i5-7500@ 4x 3.8GHz
内存:8GB
硬盘:Intel P4510 2TB
性能测试结果(qps)
48个group:37596
- 参考了Go多组Raft算法共识库 https://github.com/lni/dragonboat
- Paxos 协议参考了 https://github.com/Tencent/phxpaxos