Communication synchrone - 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.

Communication synchrone

Dans le cadre d'une communication synchrone, un client lance une demande auprès d'un service, comme l'illustre le schéma suivant. Les exemples incluent une demande d'extraction d'informations, telle qu'une HTTP GET demande, ou une demande de mutation de données, telle qu'une HTTP PUT demande. Dans les deux cas, le client attend que le serveur réponde avant de poursuivre. Les appels synchrones sont familiers à la plupart des développeurs, sont faciles à mettre en œuvre et à résoudre et, dans de nombreux cas, constituent la norme de communication largement acceptée.

Communication synchrone entre clients et microservices, ou entre microservices.

Les avantages de la communication synchrone incluent :

  • Contrôle de flux prévisible : exécution déterministe et cycles de demande-réponse clairs, plus faciles à comprendre par rapport à une communication asynchrone.

  • Forte cohérence — Confirmation immédiate des modifications des données et des mises à jour de l'état.

  • Gestion simple des erreurs — Propagation directe des erreurs et des exceptions.

  • Débogage simplifié — Suivi et surveillance simples des demandes.

  • Support des protocoles — Protocoles bien établis tels que HTTP et REST, qui simplifient la mise en œuvre.

La communication synchrone présente certains inconvénients :

  • Couplage étroit — Dépendance directe des services par rapport à la disponibilité des uns et des autres.

  • Impact sur le réseau : augmentation de la charge du réseau en raison de connexions ouvertes constantes.

  • Utilisation des ressources : augmentation de l'utilisation de la mémoire due au maintien des états de connexion.

  • Défaillances en cascade : capacité à ce que les problèmes rencontrés dans un service se propagent rapidement dans le système.