Routing und Kommunikation zwischen Mikrofrontends - 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.

Routing und Kommunikation zwischen Mikrofrontends

Die Routing-Optionen hängen vom Kompositionsansatz ab. Die Kommunikation kann optimiert werden, indem die Kopplung zwischen den Frontend-Komponenten reduziert wird.

Routing

Anwendungen, die eine clientseitige Zusammensetzung mit vertikaler Aufteilung verwenden, können serverseitiges Routing (mehrseitige Anwendung) oder clientseitiges Routing (einseitige Anwendung) verwenden. Wenn sie eine gemischte Aufteilung für die Gestaltung der Benutzeroberfläche verwenden, ist clientseitiges Routing erforderlich, um tiefere Routing-Hierarchien von Mikrofrontends auf einer Seite zu unterstützen.

Anwendungen, die Edge-side Composition und serverseitige Komposition verwenden, passen besser zu serverseitigem Routing oder Routing mit Edge-Compute wie Lambda @Edge mit Amazon. CloudFront

Kommunikation zwischen Mikro-Frontends

Bei Mikro-Frontend-Architekturen empfehlen wir, die Kopplung zwischen Frontend-Komponenten zu reduzieren. Ein Ansatz zur Reduzierung der Kopplung besteht darin, von synchronen Funktionsaufrufen zu asynchronem Messaging überzugehen.

Browser-Laufzeiten und Benutzerinteraktionen sind naturgemäß asynchron. Ereignisse können zwischen Produzenten und Verbrauchern durch Nachrichten ausgetauscht werden. Die Veranstaltungen bieten eine klar definierte Schnittstelle für die Kommunikation zwischen Mikrofrontends.

Wenn Sie DDD-Verfahren anwenden, um Ihre begrenzten Kontexte für Mikro-Frontends zu identifizieren, besteht der nächste Schritt darin, Ereignisse zu identifizieren, die grenzüberschreitend kommuniziert werden müssen.

Als Nachrichtenmechanismus für Ereignisse können native DOM-Ereignisse (CustomEvents), JavaScript Event-Emitter oder reaktive Stream-Bibliotheken verwendet werden, die von den Plattformteams bereitgestellt werden. Mikro-Frontends veröffentlichen Ereignisse und abonnieren Ereignisse, die für ihren begrenzten Kontext relevant sind. Bei dieser Methode müssen sich Herausgeber und Abonnenten nicht gegenseitig bewusst sein. Der Vertrag ist die Definition des Ereignisses. Eine visuelle Darstellung davon finden Sie im Abschnitt Kommunizieren mit Ereignissen des Diagramms Eingeschränkter Kontext mit Ereignisarchitekturen.