Häufig gestellte Fragen - 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.

Häufig gestellte Fragen

Dieser Abschnitt enthält Antworten auf häufig aufgeworfene Fragen zur Aktivierung der Datenpersistenz in Microservices.

Wann kann ich meine monolithische Datenbank im Rahmen meiner Modernisierungsreise modernisieren?

Sie sollten sich auf die Modernisierung Ihrer monolithischen Datenbank konzentrieren, wenn Sie beginnen, monolithische Anwendungen in Microservices zu zerlegen. Stellen Sie sicher, dass Sie eine Strategie erstellen, um Ihre Datenbank in mehrere kleine Datenbanken aufzuteilen, die an Ihren Anwendungen ausgerichtet sind.

Kann ich eine monolithische Legacy-Datenbank für mehrere Microservices behalten?

Die Beibehaltung einer freigegebenen monolithischen Datenbank für mehrere Microservices führt zu einer engen Kopplung, was bedeutet, dass Sie Änderungen an Ihren Microservices nicht unabhängig voneinander bereitstellen können und dass alle Schemaänderungen zwischen Ihren Microservices koordiniert werden müssen. Obwohl Sie einen relationalen Datenspeicher als monolithische Datenbank verwenden können, sind NoSQL-Datenbanken möglicherweise eine bessere Wahl für einige Ihrer Microservices.

Was sollte ich beim Entwerfen von Datenbanken für eine Microservices-Architektur beachten?

Sie sollten Ihre Anwendung basierend auf Domänen entwerfen, die mit den Funktionen Ihrer Anwendung übereinstimmen. Stellen Sie sicher, dass Sie die Funktionalität der Anwendung auswerten und entscheiden, ob ein relationales Datenbankschema erforderlich ist. Sie sollten auch erwägen, eine NoSQL-Datenbank zu verwenden, wenn sie Ihren Anforderungen entspricht.

Was ist ein gängiges Muster zur Aufrechterhaltung der Datenkonsistenz über verschiedene Microservices hinweg?

Das gebräuchlichste Muster ist die Verwendung einesereignisgesteuerte Architekturaus.

Wie halte ich die Transaktionsautomatisierung aufrecht?

In einer Microservices-Architektur besteht eine Transaktion aus mehreren lokalen Transaktionen, die von verschiedenen Microservices abgewickelt werden. Wenn eine lokale Transaktion fehlschlägt, müssen Sie die zuvor abgeschlossenen erfolgreichen Transaktionen rückgängig machen. Sie können dasSaga Musterum dies zu vermeiden.

Muss ich für jeden Microservice eine separate Datenbank verwenden?

Der Hauptvorteil einer Microservices-Architektur ist die lose Kopplung. Die persistenten Daten jedes Microservices müssen privat und nur über die API eines Microservices zugänglich gehalten werden. Änderungen am Datenschema müssen sorgfältig ausgewertet werden, wenn Ihre Microservices dieselbe Datenbank teilen.

Wie kann ich die persistenten Daten eines Microservices privat halten, wenn sie alle eine einzige Datenbank teilen?

Wenn Ihre Microservices eine relationale Datenbank teilen, stellen Sie sicher, dass Sie private Tabellen für jeden Microservice haben. Sie können auch einzelne Schemas erstellen, die für die einzelnen Microservices privat sind.