RAFT实现来自Cornerstone项目,这是一个非常轻巧的C ++实现,最初由Andy Chen撰写。
已经添加了原始论文中未描述的新功能,但已添加了eBay中现实世界中用例所需的新功能。我们认为这些功能也对eBay以外的其他功能也很有用。
cmake和openssl :$ sudo apt-get install cmake openssl libssl-dev libz-dev$ brew install cmake
$ brew install openssl$ git submodule update --init$ ./prepare.shasio-1-24-0进入项目目录。 C: N uRaft > git clone https://github.com/chriskohlhoff/asio -b asio-1-24-0$ mkdir build
$ cd build
build$ cmake ../
build$ make运行单元测试
build$ ./runtests.shC: N uRaft > mkdir build
C: N uRaft > cd build
C: N uRaft b uild > cmake -G " NMake Makefiles " ..
C: N uRaft b uild > nmake您可能需要在build目录中首先运行vcvars脚本。例如(这取决于您如何安装MSVC):
C: N uRaft b uild > c: P rogram Files (x86) M icrosoft Visual Studio 2 019 C ommunity V C A uxiliary B uild v cvars64.bat请参考此文档。
请参阅示例。
请参考测试/台。
快速基准结果
我们欢迎捐款。如果您发现任何错误,潜在的缺陷和边缘案例,改进,新功能建议或讨论,请提交问题或提取请求。
版权所有2017年至今的eBay Inc.
作者/开发人员:Jung-Sang Ahn
根据Apache许可证(版本2.0(“许可”)获得许可;除了符合许可外,您不得使用此文件。您可以在
https://www.apache.org/licenses/license-2.0
除非适用法律要求或以书面形式同意,否则根据许可证分配的软件是按照“原样”分发的,没有任何明示或暗示的保证或条件。请参阅许可证,以获取执行许可条款和限制的特定语言。
URL:https://github.com/datatechnology/cornerstone
许可证:https://github.com/datatechnology/cornerstone/blob/master/license
最初由Apache 2.0许可证获得许可。
URL:https://github.com/stbrumme/crc32
原始版权2011-2016 Stephan Brumme
请参阅原始ZLIB许可证:https://github.com/stbrumme/crc32/blob/master/license
URL:https://github.com/greensky00/simple_logger
许可证:https://github.com/greensky00/simple_logger/blob/master/license
最初由MIT许可获得许可。
URL:https://github.com/greensky00/testsuite
许可证:https://github.com/greensky00/testsuite/blob/master/license
最初由MIT许可获得许可。
URL:https://github.com/greensky00/latency-collector
许可证:https://github.com/greensky00/latency-collector/blob/master/license
最初由MIT许可获得许可。
URL:https://github.com/eriwen/lcov-to-cobertura-xml/blob/master/lcov_cobertura/lcov_cobertura.py
许可证:https://github.com/eriwen/lcov-to-cobertura-xml/blob/master/license
版权2011-2012 Eric Wendelin
最初由Apache 2.0许可证获得许可。
URL:https://github.com/bilke/cmake-modules
许可证:https://github.com/bilke/cmake-modules/blob/master/license_1_0.txt
版权2012-2017 Lars Bilke
最初根据BSD许可获得许可。