de.wedoany.com-Bericht: Cloudflare hat einen Konsensdienst namens Meerkat (Erdmännchen) eingeführt, der es Diensten in über 330 Rechenzentren weltweit ermöglicht, einen konsistenten Kontrollebenenzustand zu lesen und zu ändern. Selbst bei Ausfällen einzelner Rechenzentren oder Verbindungen bleibt das System für Schreibvorgänge nutzbar.

Da das Internet anfällig für Unterbrechungen und Warteschlangenverzögerungen ist, stellt die Entwicklung eines global konsistenten und verfügbaren Datensystems eine Herausforderung dar. Der Meerkat-Dienst verwendet den Konsensalgorithmus QuePaxa, der ähnlich wie andere Algorithmen dieser Art funktioniert: Solange die Mehrheit der Maschinen normal läuft und miteinander kommunizieren kann, können sich die Maschinen auf dieselbe Wertefolge einigen.
QuePaxa benötigt keinen einzigen autoritativen Leader, um den Fortschritt sicherzustellen. Während dessen, was Cloudflare als „Tyrannei des Timeouts" bezeichnet, kann jeder Replikat oder Nicht-Leader weiterhin Schreibvorgänge durchführen. Architektonisch fordern Entwickler eine Gruppe von Meerkat-Replikaten an und geben den Standort des Rechenzentrums an; Meerkat übernimmt die Platzierung. Der Client sendet Anwendungsanfragen an ein beliebiges Replikat, das die Anfrage in Ereignisse im gemeinsamen Konsensprotokoll umwandelt und eine Antwort zurückgibt. Jedes Replikat verwaltet die entschiedenen Protokolleinträge in derselben Reihenfolge; einige Replikate können vorübergehend zurückliegen. Auf Meerkat basierende Anwendungen wie Schlüssel-Wert-Speicher oder Leasingsysteme lesen das Protokoll und bauen darauf ihren eigenen Zustand auf.
Cloudflare erklärt, dass das System aufgrund des fehlenden erforderlichen Leaders nicht durch ein einzelnes Replikat unverfügbar oder beeinträchtigt wird und keine Leader-Wahl erforderlich ist. Gleichzeitig von verschiedenen Replikaten vorgeschlagene Vorschläge stören sich konstruktiv gegenseitig, was für das Cloudflare-Netzwerk mit seinen stark schwankenden Latenzen ideal ist. Das Unternehmen gibt an, mehrere Proof-of-Concept-Tests mit bis zu 50 global verteilten Replikaten durchgeführt zu haben. In diesen Tests fiel der Leader wiederholt aus, aber der Cluster lief weiter, und die Fehlerrate stieg nicht an.
Meerkat befindet sich derzeit noch nicht in der Produktion und ist ein reiner interner Dienst. Das Unternehmen betont, dass es Einschränkungen gibt und nicht für die Erstellung universeller Datensysteme wie Datenbanken ausgelegt ist. Alle Konsensalgorithmen haben ihren Preis; die Entscheidungslatenz eines Vorschlags ist proportional zur Latenz zwischen der Mehrheit der Replikate. Wenn die Replikate weit voneinander entfernt sind, steigt die Latenz, was unvermeidbar ist.






