Routage et communication via des micro-frontends - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Routage et communication via des micro-frontends

Les options de routage dépendent de l'approche de composition. La communication peut être optimisée en réduisant le couplage entre les composants du frontend.

Routage

Les applications qui utilisent la composition côté client avec division verticale peuvent utiliser le routage côté serveur (application multipage) ou le routage côté client (application d'une seule page). S'ils utilisent une répartition mixte pour la composition de l'interface utilisateur, le routage côté client est nécessaire pour prendre en charge des hiérarchies de routage plus approfondies des micro-frontends sur une page.

Les applications qui utilisent la composition côté périphérie et la composition côté serveur s'alignent mieux sur le routage côté serveur ou sur le routage avec le calcul périphérique tel que Lambda @Edge avec Amazon. CloudFront

Communication entre micro-frontends

Avec les architectures de micro-frontend, nous recommandons de réduire le couplage entre les composants frontaux. Une approche pour réduire le couplage consiste à abandonner les appels de fonction synchrones au profit de la messagerie asynchrone.

Les temps d'exécution du navigateur et les interactions avec les utilisateurs sont asynchrones par nature. Les événements peuvent être échangés entre producteurs et consommateurs par le biais de messages. Les événements fournissent une interface bien définie pour la communication entre les micro-frontends.

Si vous suivez les pratiques DDD pour identifier vos contextes délimités pour les micro-frontends, l'étape suivante consiste à identifier les événements qui doivent être communiqués au-delà des limites.

Le mécanisme de messagerie pour les événements peut être des événements DOM natifs (CustomEvents), des émetteurs d' JavaScript événements ou des bibliothèques de flux réactifs fournies par les équipes de la plateforme. Les micro-frontends publient des événements et s'abonnent à des événements pertinents pour leur contexte limité. Avec cette méthode, les éditeurs et les abonnés n'ont pas besoin de se connaître. Le contrat est la définition de l'événement. Pour une représentation visuelle de cela, consultez la section Communiquer avec les événements du diagramme Contexte limité avec architectures d'événements.