La mise en œuvre du RAFT dérivée du projet Cornerstone, qui est une implémentation C ++ très légère avec des dépendances minimales, à l'origine écrite par Andy Chen.
De nouvelles fonctionnalités qui ne sont pas décrites dans l'article d'origine, mais requises pour les cas d'utilisation du monde réel dans eBay, ont été ajoutées. Nous pensons également que ces fonctionnalités sont utiles pour les autres en dehors d'eBay.
cmake et 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 dans le répertoire du projet. C: N uRaft > git clone https://github.com/chriskohlhoff/asio -b asio-1-24-0$ mkdir build
$ cd build
build$ cmake ../
build$ makeExécuter des tests unitaires
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 Vous devrez peut-être exécuter le script vcvars d'abord dans votre répertoire build . Par exemple (cela dépend de la façon dont vous avez installé 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.batVeuillez vous référer à ce document.
Veuillez vous référer à des exemples.
Veuillez vous référer aux tests / banc.
Résultats de référence rapide
Nous accueillons les contributions. Si vous trouvez des bogues, des défauts potentiels et des cas de bord, des améliorations, de nouvelles suggestions de fonctionnalités ou des discussions, veuillez soumettre des problèmes ou tirer les demandes.
Copyright 2017-présent Ebay Inc.
Auteur / développeur: Jung-Sang Ahn
Licencié sous la licence Apache, version 2.0 (la "licence"); Vous ne pouvez pas utiliser ce fichier sauf conforme à la licence. Vous pouvez obtenir une copie de la licence à
https://www.apache.org/licenses/license-2.0
Sauf exiger la loi applicable ou convenu par écrit, les logiciels distribués en vertu de la licence sont distribués sur une base «tel quel», sans garantie ou conditions d'aucune sorte, expresse ou implicite. Voir la licence pour la langue spécifique régissant les autorisations et les limitations sous la licence.
URL: https://github.com/datatechnology/cornerstone
Licence: https://github.com/datatechnology/cornerstone/blob/master/license
Initialement licencié sous la licence Apache 2.0.
URL: https://github.com/stbrumme/crc32
Copyright original 2011-2016 Stephan Brumme
Voir Licence ZLIB originale: https://github.com/stbrumme/crc32/blob/master/license
URL: https://github.com/greensky00/simple_logger
Licence: https://github.com/greensky00/simple_logger/blob/master/license
À l'origine sous licence sous la licence du MIT.
URL: https://github.com/greensky00/testsuite
Licence: https://github.com/greensky00/testsuite/blob/master/license
À l'origine sous licence sous la licence du MIT.
URL: https://github.com/Greensky00/Latency-Collector
Licence: https://github.com/greensky00/latency-collector/blob/master/license
À l'origine sous licence sous la licence du MIT.
URL: https://github.com/eriwen/lcov-to-coberturara-xml/blob/master/lcov_cobertura/lcov_cobertura.py
Licence: https://github.com/eriwen/lcov-to-coberturara-xml/blob/master/license
Copyright 2011-2012 Eric Wendelin
Initialement licencié sous la licence Apache 2.0.
URL: https://github.com/bilke/cmake-modules
Licence: https://github.com/bilke/cmake-modules/blob/master/license_1_0.txt
Copyright 2012-2017 Lars Bilke
À l'origine sous licence sous la licence BSD.