Die Raft -Implementierung, die aus dem Cornerstone -Projekt abgeleitet ist, das eine sehr leichte C ++ - Implementierung mit minimalen Abhängigkeiten ist, die ursprünglich von Andy Chen geschrieben wurde.
Neue Funktionen, die im Originalpapier nicht beschrieben werden, sondern für die realen Anwendungsfälle bei eBay erforderlich sind, wurden hinzugefügt. Wir glauben, dass diese Merkmale auch für andere außerhalb eBays nützlich sind.
cmake und 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 in das Projektverzeichnis. C: N uRaft > git clone https://github.com/chriskohlhoff/asio -b asio-1-24-0$ mkdir build
$ cd build
build$ cmake ../
build$ makeFühren Sie Unit -Tests aus
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 Möglicherweise müssen Sie das vcvars -Skript zuerst in Ihrem build -Verzeichnis ausführen. Zum Beispiel (es hängt davon ab, wie Sie MSVC installiert haben):
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.batBitte beachten Sie dieses Dokument.
Bitte beziehen Sie sich auf Beispiele.
Bitte beziehen Sie sich auf Tests/Bank.
Schnelle Benchmark -Ergebnisse
Wir begrüßen Beiträge. Wenn Sie Fehler, potenzielle Mängel und Kantenfälle, Verbesserungen, neue Feature -Vorschläge oder Diskussionen finden, senden Sie bitte Probleme oder ziehen Sie Anfragen an.
Copyright 2017-Present Ebay Inc.
Autor/Entwickler: Jung-Sang Ahn
Lizenziert unter der Apache -Lizenz, Version 2.0 (der "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Sie können eine Kopie der Lizenz bei erhalten
https://www.apache.org/licenses/license-2.0
Sofern nicht nach geltendem Recht oder schriftlich zu vereinbart wird, wird die im Rahmen der Lizenz verteilte Software auf "As is" -Basis ohne Gewährleistung oder Bedingungen jeglicher Art ausdrücklich oder impliziert verteilt. Siehe die Lizenz für die spezifischen Sprachberechtigungen und Einschränkungen im Rahmen der Lizenz.
URL: https://github.com/datatechnology/cornerstone
Lizenz: https://github.com/datatechnology/cornerstone/blob/master/license
Ursprünglich unter der Apache 2.0 -Lizenz lizenziert.
URL: https://github.com/stbrumme/crc32
Original Copyright 2011-2016 Stephan Brumme
Siehe Original ZLIB -Lizenz: https://github.com/stbrumme/crc32/blob/master/license
URL: https://github.com/greensky00/simple_logger
Lizenz: https://github.com/greensky00/simple_logger/blob/master/license
Ursprünglich unter der MIT -Lizenz lizenziert.
URL: https://github.com/greensky00/testsuite
Lizenz: https://github.com/greensky00/testsuite/blob/master/license
Ursprünglich unter der MIT -Lizenz lizenziert.
URL: https://github.com/greensky00/latency-collector
Lizenz: https://github.com/greensky00/latency-collector/blob/master/license
Ursprünglich unter der MIT -Lizenz lizenziert.
URL: https://github.com/eriwen/lcov-tocobertura-xml/blob/master/lcov_cobertura/lcov_cobertura.py
Lizenz: https://github.com/eriwen/lcov-tocobertura-xml/blob/master/license
Copyright 2011-2012 Eric Wendelin
Ursprünglich unter der Apache 2.0 -Lizenz lizenziert.
URL: https://github.com/bilke/cmake-modules
Lizenz: https://github.com/bilke/cmake-modules/blob/master/license_1_0.txt
Copyright 2012-2017 Lars Bilke
Ursprünglich unter der BSD -Lizenz lizenziert.