Menü

eBay veröffentlicht NuRaft als alternatives Protokoll für die Datenreplikation

Das quelloffene Protokoll soll auf Basis einer C++-Raft-Implementierung verteilte Log-Speicher und Datenreplikation in Storage-Server-Umgebungen vereinfachen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Von

Nach zweijähriger Entwicklungs- und Testphase gibt eBay NuRaft unter der Apache-2.0-Lizenz als Open Source frei. NuRaft ist als leichtgewichtiges C++-Raft-Core angelegt und baut auf der ursprünglich von Andy Chen entwickelten Cornerstone-Implementierung auf. Für den Produktiveinsatz in der Storage Server Data Replication haben die eBay-Entwickler NuRaft allerdings um einige Verbesserungen und zusätzliche Funktionen erweitert – darunter beispielsweise Unterstützung für SSL/TLS sowie Logical Snapshots.

Im Rahmen seiner NuData-Initiative entwickelt eBay – in Zusammenarbeit mit der Open-Source-Community – Cloud-native Datenbankdienste für sein Kerngeschäft. Als die erste für den Produktivbetrieb freigegebene Software aus dieser Initiative liegt nun NuRaft vor. Darüber hinaus arbeiten die eBay-Entwickler unter anderen an der LSM-Tree-basierten Storage Engine Jungle, dem verteilten Transaktionsprotokoll GRIT sowie dem transaktionalen Graph-Speicher NuGraph.

NuRaft ist das Ergebnis der Suche nach einem Konsensprotokoll, dass sich für die effiziente Datenreplikation in der eBay-Systemumgebung eignet. Der Cornerstone-Raft-Core bot nach Einschätzung der eBay-Entwickler die geeignete Basis, da er kompakt aufgebaut ist, aber auch über einen festen Satz von APIs individuelle Anpassungen für Log Store und State Machine erlaubt. Um sich nahtlos in die E-Commerce-Infrastruktur einzufügen, waren jedoch auch spezifische Erweiterungen wie Logical Snapshots erforderlich. Denn für replizierte Storage-Server baut eBay bereits auf die Storage Engine ForestDB, die Logical Snapshots ermöglicht. Zudem sollen die mit physischen Snapshots verbundenen Betriebsunterbrechungen und hohe Kosten vermieden werden.

NuRaft-Flussdiagramm, einschließlich asynchroner Replikation.

(Bild: eBay)

Für erhöhte Sicherheit beim Datentransfer hat das NuRaft-Team die Unterstützung für SSL/TLS ergänzt. Asynchroner Datentransfer soll NuRaft darüber hinaus auch zum bevorzugten Konsensprotokoll für Replikationen machen, die geringere Anforderungen an Konsistenz und Latenzzeit stellen, und bei denen ein potenzieller Datenverlust zu verschmerzen ist. Weitere Details zu den Anpassungen von NuRaft sowie ein Überblick sämtlicher Funktionen finden sich im Blogbeitrag zu Veröffentlichung. Umfassende Informationen zum Konsensprotokoll und dessen Einsatz bietet darüber hinaus die NuRaft-Projektseite auf GitHub. (map)