Cornerstoneプロジェクトから派生したRAFT実装は、元々Andy Chenによって書かれた非常に軽量のC ++実装であり、最小依存関係を備えた実装です。
元の論文では説明されていないが、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このドキュメントを参照してください。
例を参照してください。
テスト/ベンチを参照してください。
クイックベンチマークの結果
貢献を歓迎します。バグ、潜在的な欠陥とエッジのケース、改善、新機能の提案またはディスカッションが見つかった場合は、問題を提出するか、リクエストをプルしてください。
Copyright 2017-Present 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
Copyright 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
Copyright 2012-2017 Lars Bilke
もともとBSDライセンスに基づいてライセンスされていました。