Weiterleitung von Anforderungen auf Datenverarbeitungsebene - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Weiterleitung von Anforderungen auf Datenverarbeitungsebene

Beim Routing von Anforderungen auf Datenverarbeitungsebene bestimmt der Code, der auf der Datenverarbeitungsebene ausgeführt wird, ob die Anforderung lokal verarbeitet oder an eine Kopie davon übergeben werden soll, die in einer anderen Region ausgeführt wird. Wenn Sie den Modus Schreiben in eine Region verwenden, erkennt die Datenverarbeitungsebene möglicherweise, dass es sich nicht um die aktive Region handelt, und erlaubt lokale Lesevorgänge, während alle Schreibvorgänge an eine andere Region weitergeleitet werden. Dieser Code auf Datenverarbeitungsebene muss die Datentopologie und die Routing-Regeln kennen und sie zuverlässig durchsetzen, basierend auf den neuesten Einstellungen, die angeben, welche Regionen für welche Daten aktiv sind. Der äußere Software-Stack innerhalb der Region muss nicht wissen, wie Lese- und Schreibanforderungen von dem Microservice weitergeleitet werden. In einem robusten Design überprüft die empfangende Region, ob sie die aktuelle Primärregion für den Schreibvorgang ist. Ist dies nicht der Fall, wird ein Fehler mit dem Hinweis generiert, dass der globale Zustand korrigiert werden muss. Die empfangende Region könnte den Schreibvorgang auch eine Weile zwischenspeichern, wenn sich die Primärregion gerade ändert. In allen Fällen schreibt der Computing-Stack in einer Region nur auf seinen lokalen DynamoDB-Endpunkt, die Computing-Stacks kommunizieren aber möglicherweise miteinander.

Weiterleitung von Anforderungen auf Datenverarbeitungsebene

Die Vanguard-Gruppe verwendet für diesen Routing-Prozess ein System namens Global Orchestration and Status Tool (GOaST und eine Bibliothek namens Global Multi-Region Library (GMRlib ),wie unter re:Invent 2022 vorgestellt. Sie verwenden ein follow-the-sun einziges Primärmodell. GOaST behält den globalen Status bei, ähnlich der Route 53 ARC-Routing-Kontrolle, die im vorherigen Abschnitt beschrieben wurde. Es verwendet eine globale Tabelle, um zu verfolgen, welche Region die primäre Region ist und wann der nächste primäre Switch geplant ist. Alle Lese- und Schreibvorgänge durchlaufen GMRlib , das mit GOaST koordiniert wird. GMRlib ermöglicht die lokale Ausführung von Lesevorgängen mit geringer Latenz. Bei Schreibvorgängen prüft GMRlib, ob die lokale Region die aktuelle primäre Region ist. Falls ja, wird der Schreibvorgang direkt abgeschlossen. Ist dies nicht der Fall, leitet GMRlib die Schreibaufgabe an GMRlib in der primären Region weiter. Diese empfangende Bibliothek bestätigt, dass sie sich ebenfalls als Primärregion betrachtet, und gibt einen Fehler aus, wenn dies nicht der Fall ist, was auf eine Verzögerung bei der Weitergabe des globalen Zustands hindeutet. Dieses Vorgehen bietet einen Validierungsvorteil, da nicht direkt auf einen DynamoDB-Remote-Endpunkt geschrieben wird.