Antworten>Erfahren Sie mehr über Zuverlässigkeit und Verfügbarkeit>Was versteht man unter Hochverfügbarkeit in der Blockchain-Infrastruktur?
Was versteht man unter Hochverfügbarkeit in der Blockchain-Infrastruktur?
// Tags
Blockchain mit hoher VerfügbarkeitVerfügbarkeit der Blockchain
TL;DR: Hochverfügbarkeit (HA) bezeichnet Systeme, die so konzipiert sind, dass sie auch bei Ausfall einzelner Komponenten online und reaktionsfähig bleiben und nur minimale Ausfallzeiten aufweisen. In der Blockchain-Infrastruktur bedeutet HA, dass Ihre RPC-Endpunkte, Knoten und Datenpipelines Anfragen weiterhin zuverlässig bearbeiten, wobei in der Regel eine Verfügbarkeit von 99,9 % oder mehr angestrebt wird. Warum die Verfügbarkeit wichtiger ist, als Sie denken
Wenn eine herkömmliche Web-App ausfällt, wird den Nutzern eine Fehlerseite angezeigt. Wenn die Blockchain-Infrastruktur ausfällt, können die Folgen weitaus schwerwiegender sein. Verpasste Transaktionen, veraltete Daten, fehlgeschlagene Handelsgeschäfte und nicht verarbeitete Ereignisse frustrieren nicht nur die Nutzer. Sie kosten echtes Geld.
Stellen Sie sich einen DeFi-Handelsbot vor, der zur Übermittlung von Transaktionen auf einen RPC-Endpunkt angewiesen ist. Wenn dieser Endpunkt während einer volatilen Marktbewegung auch nur für 30 Sekunden offline ist, verpasst der Bot das Zeitfenster komplett. Oder denken Sie an eine Wallet-App, die keine Kontostände abrufen kann, weil der Knotenbetreiber gerade einen Ausfall hat. Die Nutzer wissen nicht, ob ihr Guthaben sicher ist, und Ihre Support-Warteschlange explodiert.
Hochverfügbarkeit ist der Bereich der Technik, der solche Szenarien verhindert. Das bedeutet, Systeme so zu konzipieren, dass kein einzelner Ausfall dazu führt, dass das gesamte System ausfällt.
Was versteht man unter Hochverfügbarkeit in der Blockchain?
Hochverfügbarkeit in der Blockchain bezeichnet die Vorgehensweise, Knoten, RPC-Endpunkte und Datenpipelines auch dann online und reaktionsfähig zu halten, wenn einzelne Komponenten ausfallen. Anstatt sich auf einen einzigen Knoten oder eine einzige Region zu verlassen, verteilt eine hochverfügbare Konfiguration die Arbeit auf redundante Komponenten, sodass ein einzelner Ausfall niemals den gesamten Dienst lahmlegt. Dies hängt in hohem Maße von funktionsfähigen, synchronisierten Knoten ab, weshalb die Zuverlässigkeit der Knoten und die automatische Ausfallsicherung zentrale Bausteine sind.
So funktioniert Hochverfügbarkeit
Im Kern geht es bei der Hochverfügbarkeit darum, einzelne Ausfallquellen zu beseitigen. Anstatt sich auf einen einzigen Server, ein einziges Rechenzentrum oder einen einzigen Cloud-Anbieter zu verlassen, verteilt ein hochverfügbares System seine Arbeitslast auf mehrere redundante Komponenten.
In der Blockchain-Infrastruktur umfasst dies in der Regel mehrere Ebenen. Die erste ist die geografische Verteilung, bei der Knoten über mehrere Regionen verteilt sind, sodass der Datenverkehr im Falle eines Problems in einem Rechenzentrum automatisch auf die nächstgelegene funktionierende Alternative umgeleitet wird. Die zweite ist der Multi-Cloud-Einsatz. Der Betrieb bei mehr als einem Cloud-Anbieter (und manchmal auch auf Bare-Metal-Servern) stellt sicher, dass ein ausfallspezifischer Ausfall nicht Ihren gesamten Stack lahmlegt. Die dritte Ebene ist der Lastausgleich, der eingehende RPC-Anfragen auf einen Pool funktionsfähiger Knoten verteilt und dabei automatisch alle Knoten umgeht, die langsam sind oder nicht reagieren. Die vierte Ebene ist die Zustandsüberwachung, bei der automatisierte Systeme kontinuierlich den Zustand der Knoten, die Blockhöhe und die Antwortzeiten überprüfen und Probleme melden, bevor sie sich auf die Nutzer auswirken.
Diese Komponenten sorgen gemeinsam für das, was Ingenieure als Fehlertoleranz bezeichnen. Das System federt Ausfälle reibungslos ab, anstatt zusammenzubrechen.
Messung der Verfügbarkeit
Die Verfügbarkeit wird in der Regel als Prozentsatz der Betriebszeit über einen bestimmten Zeitraum angegeben. Häufig hört man Begriffe wie „drei Neunen“ (99,9 %) oder „vier Neunen“ (99,99 %).
Und so lassen sich diese Zahlen in der Praxis konkret umsetzen: Bei einer Verfügbarkeit von 99,9 % ergeben sich etwa 8,7 Stunden Ausfallzeit pro Jahr. Bei 99,99 % sinkt dieser Wert auf etwa 52 Minuten pro Jahr. Bei 99,999 % (fünf Neunen) beläuft sich die Ausfallzeit für das gesamte Jahr auf etwas mehr als 5 Minuten.
Jede weitere Neun ist exponentiell schwieriger zu erreichen und erfordert deutlich höhere Investitionen in Redundanz, Überwachung und Automatisierung. Für die meisten Blockchain-Anwendungen sind 99,99 % das Ziel, das ein ausgewogenes Verhältnis zwischen Kosten und Zuverlässigkeit bietet.
Welchen Prozentsatz an Verfügbarkeit sollten Sie anstreben?
Verfügbarkeitsziele werden in „Neunen“ angegeben. Jede zusätzliche „Neun“ reduziert die zulässige Ausfallzeit drastisch, ist jedoch mit höheren Kosten verbunden. Die Tabelle zeigt, was die einzelnen Stufen in der Praxis über ein ganzes Jahr hinweg bedeuten.
Verfügbarkeit
Name
Ausfallzeit pro Jahr
99.9%
Drei Neuner
Etwa 8,7 Stunden
99.99%
Vier Neuner
Etwa 52 Minuten
99.999%
Fünf Neuner
Etwas mehr als 5 Minuten
Inwiefern unterscheidet sich Hochverfügbarkeit von Fehlertoleranz?
Diese Begriffe werden oft synonym verwendet, sind jedoch nicht dasselbe. Bei der Hochverfügbarkeit geht es darum, Ausfallzeiten zu minimieren, wobei kurze Unterbrechungen während des Failovers in Kauf genommen werden. Bei der Fehlertoleranz wird eine Ausfallzeit von null angestrebt, indem vollständig redundante Komponenten parallel betrieben werden. Die meisten Blockchain-Teams streben Hochverfügbarkeit an, da diese eine hohe Verfügbarkeit zu vertretbaren Kosten gewährleistet.
Herkömmliche Webdienste können einfach weitere Server hinter einem Load Balancer hochfahren. Die Blockchain-Infrastruktur ist komplexer, da die Knoten mit dem Netzwerk synchron bleiben müssen. Ein Knoten, der bei der Blockhöhe ins Hintertreffen gerät, ist im Grunde genommen nutzlos, auch wenn er technisch gesehen „online“ ist.
Die Blockchain bringt zudem einzigartige Ausfallmöglichkeiten mit sich, die in herkömmlichen Infrastrukturen nicht vorkommen. Durch Kettenreorganisationen können aktuelle Daten vorübergehend ungültig werden. Netzwerk-Upgrades oder Hard Forks erfordern koordinierte Knoten-Updates. Verschiedene Client-Implementierungen können sich unter Last unterschiedlich verhalten. Und die Datenmenge selbst wächst ständig, was bedeutet, dass die Anforderungen an Speicherplatz und Synchronisierung im Laufe der Zeit steigen.
All dies macht die Hochverfügbarkeit (HA) in Blockchain-Umgebungen komplexer, als wenn man lediglich einen Load Balancer vor einem Servercluster einsetzt. Es erfordert fundierte Protokollkenntnisse und kontinuierliche Investitionen in den Betrieb.
Wie entwirft man eine hochverfügbare RPC-Konfiguration?
Eine ausfallsichere Konfiguration kombiniert mehrere Techniken: Verteilung der Knoten auf verschiedene Regionen und Anbieter, Einsatz eines Load Balancers vor einem Pool funktionsfähiger Knoten, Überwachung der Blockhöhe und der Latenz, damit nicht synchronisierte Knoten automatisch entfernt werden, sowie die Bereitstellung eines Backup-Anbieters für den Fall eines Ausfalls. Aus Sicht der Anwendung handelt es sich weiterhin um einen einzigen RPC-Endpunkt, doch dahinter verbirgt sich die Redundanz, die dafür sorgt, dass Sie online bleiben. Die kontinuierliche Überwachung Ihrer Blockchain-Infrastruktur ermöglicht automatische Routing-Entscheidungen.
Wie Quicknode das Thema Hochverfügbarkeit angeht
Quicknode betreibt seine Infrastruktur in mehr als 14 Regionen bei verschiedenen Cloud- und Bare-Metal-Anbietern. Jede RPC-Anfrage wird über ein globales DNS-basiertes Routing an den nächstgelegenen funktionsfähigen Knoten weitergeleitet, und das System überwacht kontinuierlich die Blockhöhe, die Latenz und die Fehlerraten, um sicherzustellen, dass Anfragen stets an Knoten gelangen, die sowohl online als auch vollständig synchronisiert sind.
Für Teams, die noch zuverlässigere Garantien benötigen, bietet Quicknode dedizierte Cluster mit einer privaten, isolierten Infrastruktur und SLAs mit garantierter Verfügbarkeit an.
Was bedeutet Hochverfügbarkeit für einen RPC-Endpunkt?
Das bedeutet, dass der Endpunkt auch dann weiterhin Anfragen beantwortet, wenn einzelne Knoten, Regionen oder Anbieter ausfallen. Der Datenverkehr wird automatisch auf funktionsfähige, synchronisierte Knoten umgeleitet, sodass Ihre Anwendung eine konsistente Verfügbarkeit gewährleistet und keine Fehlermeldungen erhält.
Welche Verfügbarkeit ist für eine Blockchain-Infrastruktur angemessen?
Die meisten Produktionsanwendungen streben eine Verfügbarkeit von 99,99 % an, was etwa 52 Minuten Ausfallzeit pro Jahr zulässt. Eine Verfügbarkeit von 99,999 % ist zwar möglich, verursacht jedoch deutlich höhere Kosten für Redundanz und Automatisierung.
Warum ist die Hochverfügbarkeit bei Blockchain-Anwendungen schwieriger zu erreichen als bei Webanwendungen?
Knoten müssen mit dem Netzwerk synchron bleiben, sodass ein Knoten, der zwar online ist, aber bei der Blockhöhe im Rückstand liegt, dennoch unbrauchbar ist. Blockchain-spezifische Ereignisse verkomplizieren die Sache zusätzlich; darauf gehen wir im Abschnitt „Häufige Ausfallarten bei Blockchains“ ein.
Wie wirken sich Ketten-Reorgs auf die Verfügbarkeit aus?
Eine Reorganisation kann aktuelle Daten vorübergehend ungültig machen; daher warten hochverfügbare Systeme auf Bestätigungen oder gehen explizit auf Reorganisationen ein. Weitere Informationen finden Sie unter „Was ist eine Blockchain-Reorganisation?“.
Macht Hochverfügbarkeit einen Backup-Anbieter überflüssig?
Nein. Die Hochverfügbarkeit eines einzelnen Anbieters verringert zwar das Risiko, doch die Nutzung eines unabhängigen Backup-Anbieters schützt Sie vor anbieterweiten Ausfällen und ist ein üblicher Bestandteil eines ausfallsicheren Konzepts.