API-Integration ‒ Backend für Frontend - 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.

API-Integration ‒ Backend für Frontend

Das Muster Backends for Frontends (BFF) wird typischerweise in Microservices-Umgebungen verwendet. Im Kontext von Mikro-Frontends ist ein BFF ein serverseitiger Dienst, der zu einem Mikro-Frontend gehört. Nicht alle Mikrofrontends müssen über ein BFF verfügen. Wenn Sie jedoch ein BFF verwenden, muss es innerhalb desselben begrenzten Kontextes ausgeführt werden und darf nicht von anderen begrenzten Kontexten gemeinsam genutzt werden.

Im Gegensatz zu einem herkömmlichen Dienst folgt ein BFF keinem Domänenmodell. Stattdessen handelt es sich um eine API-Ebene für das Mikro-Frontend, um Daten vorzuverarbeiten, bevor sie den Client erreichen. Zu den Bereichen, in denen dies nützlich ist, gehören die folgenden:

  • Autorisierung für private APIs

  • Aggregation von Daten aus verschiedenen Quellen

  • Transformation von Daten zur Reduzierung der Netzwerklast und zur Erleichterung des Datenverbrauchs durch den Kunden

Somit gehört ein BFF dem Micro-Frontend und nicht dem Domain-Servicetier. BFFs können wie folgt bereitgestellt werden:

  • AppSync AWS-GraphQL-APIs

  • Eine Reihe von AWS Lambda Lambda-Funktionen

  • Als Container, der auf Amazon ECS, Amazon EKS oder AWS läuft AppRunner

Das folgende Diagramm zeigt, dass Mikro-Frontends ohne das BFF-Muster eine Verbindung zu einzelnen Microservice-API-Endpunkten herstellen müssen, um Daten abzurufen und zu aggregieren.

Dashboard-App, die zuerst Transaktionen und dann Preise von entkoppelten Microservices abruft.

Stattdessen können Mikro-Frontends anhand des BFF-Musters in der folgenden Abbildung mit ihrem eigenen Backend kommunizieren und aggregierte Daten abrufen.

In der Transaktionsansicht werden aggregierte Daten, einschließlich Preisinformationen, vom BFF abgerufen.

Teams können BFFs für verschiedene Kanäle entwickeln, z. B. für Mobilgeräte, das Internet oder bestimmte Ansichten. Dabei müssen die Interaktionen im Backend optimiert werden, indem die Chataktivität reduziert wird.