The Paxos library implemented in C++ that has been used in the WeChat production environment.
OTHER License
Bot releases are hidden (Show)
Published by taohex about 7 years ago
Multiple groups are initialized in parallel
Rewrite Time::MsSleep with std::thread
Rewrite SerialLock and Queue with condition_variable_any
More initialization checks
Published by lynncui00 almost 8 years ago
1.1.0 版本提交的代码出现了点小错误,如使用了上一版本代码的请立即更新此版本,抱歉。
此版本带来了一个新的特性,提供一个批量提交接口,但是形式上和单次提交接口一致,由内部自动完成批量逻辑,从而大幅降低写盘次数以及网络通信次数,提高吞吐。该接口已在微信生产环境稳定执行超过万亿次。
修复了一个重大BUG,某些编译环境下会导致单调时间获取不正确,从而使得设置了CLOCK_MONOTONIC的condition工作不正常,表现为运行卡死,Master无法选举等。如出现类似现象的,建议立即更新此版本。
Published by lynncui00 about 8 years ago
fsync
to guarantee the correctness in every IO write operations.Propose
is one RTT and one IO write.Checkpoint
and PaxosLog
automatically.Checkpoint
across nodes automatically.