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.
API-Kompositionsmuster
Dieses Muster verwendet einen API-Composer oder Aggregator, um eine Abfrage zu implementieren, indem einzelne Microservices aufgerufen werden, denen die Daten gehören. Anschließend werden die Ergebnisse kombiniert, indem es einen In-Memory-Join durchführt.
Das folgende Diagramm zeigt, wie dieses Muster implementiert wird.

Das Diagramm zeigt den folgenden Workflow:
-
Ein API-Gateway bedient die API „/customer“, die über einen Microservice „Bestellungen“ verfügt, der Kundenbestellungen in einer Aurora-Datenbank verfolgt.
-
Der Microservice „Support“ verfolgt Probleme mit dem Kundensupport und speichert sie in einer Amazon OpenSearch Service-Datenbank.
-
Der Mikroservice CustomerDetails "" verwaltet Kundenattribute (z. B. Adresse, Telefonnummer oder Zahlungsdetails) in einer DynamoDB-Tabelle.
-
Die Lambda-Funktion „GetCustomer“ führt die APIs für diese Microservices aus und führt eine speicherinterne Verknüpfung der Daten durch, bevor sie an den Anforderer zurückgegeben werden. Auf diese Weise können Kundeninformationen einfach mit einem Netzwerkaufruf an die benutzerseitige API abgerufen werden, und die Benutzeroberfläche bleibt sehr einfach.
Das API-Kompositionsmuster bietet die einfachste Möglichkeit, Daten aus mehreren Microservices zu sammeln. Die Verwendung des API-Kompositionsmusters hat jedoch die folgenden Nachteile:
-
Es ist möglicherweise nicht für komplexe Abfragen und große Datenmengen geeignet, die Verknüpfungen im Speicher erfordern.
-
Ihr Gesamtsystem wird weniger verfügbar, wenn Sie die Anzahl der Microservices erhöhen, die mit dem API Composer verbunden sind.
-
Zunehmende Datenbankanfragen führen zu mehr Netzwerkverkehr, was Ihre Betriebskosten erhöht.