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 gestellte Fragen zur Aktivierung von Datenpersistenz in Microservices.
Wann kann ich im Rahmen meiner Modernisierung meine monolithische Datenbank modernisieren?
Sie sollten sich auf die Modernisierung Ihrer monolithischen Datenbank konzentrieren, wenn Sie damit beginnen, monolithische Anwendungen in Microservices zu zerlegen. Stellen Sie sicher, dass Sie eine Strategie zur Aufteilung Ihrer Datenbank in mehrere kleine Datenbanken entwickeln, die auf Ihre Anwendungen abgestimmt sind.
Kann ich eine ältere monolithische Datenbank für mehrere Microservices behalten?
Durch die Beibehaltung einer gemeinsamen monolithischen Datenbank für mehrere Microservices entsteht eine enge Kopplung, was bedeutet, dass Sie Änderungen an Ihren Microservices nicht unabhängig voneinander implementieren 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 für einige Ihrer Microservices möglicherweise die bessere Wahl.
Was sollte ich beim Entwerfen von Datenbanken für eine Microservices-Architektur beachten?
Sie sollten Ihre Anwendung auf der Grundlage von Domänen entwerfen, die der Funktionalität Ihrer Anwendung entsprechen. Stellen Sie sicher, dass Sie die Funktionalität der Anwendung evaluieren und entscheiden, ob sie ein relationales Datenbankschema benötigt. Sie sollten auch die Verwendung einer NoSQL-Datenbank in Betracht ziehen, wenn diese Ihren Anforderungen entspricht.
Was ist ein gängiges Muster für die Aufrechterhaltung der Datenkonsistenz zwischen verschiedenen Microservices?
Das gängigste Muster ist die Verwendung einer ereignisgesteuerten Architektur
Wie verwalte ich die Transaktionsautomatisierung?
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 das verwendenSagaMuster, um 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 vertraulich behandelt werden und müssen nur über die API eines Microservices zugänglich sein. Änderungen am Datenschema müssen sorgfältig geprüft werden, wenn Ihre Microservices dieselbe Datenbank verwenden.
Wie kann ich die persistenten Daten eines Microservices geheim halten, wenn sie sich alle eine einzige Datenbank teilen?
Wenn sich Ihre Microservices eine relationale Datenbank teilen, stellen Sie sicher, dass Sie über private Tabellen für jeden Microservice verfügen. Sie können auch individuelle Schemas erstellen, die für die einzelnen Microservices privat sind.