Vous êtes sur la page 1sur 2

I NSTITUT N ATIONAL DE S TATISTIQUE

ET D’E C ONOMIE A PPLIQUEE

communication
synchrone vs Asynchrone

Préparé par :
KHOUNA younes

Année Universitaire
202 2 /202 3

~1~
La différence fondamentale entre une communication synchrone et une communication
asynchrone réside dans la manière dont les systèmes interagissent et gèrent les échanges
d'informations.

1. **Communication Synchrone** :
Dans une communication synchrone, l'émetteur envoie une requête et attend une réponse
immédiate du destinataire avant de poursuivre. Cela signifie que l'émetteur est bloqué
jusqu'à ce qu'il reçoive une réponse. Si le destinataire prend du temps à répondre ou est
indisponible, cela peut entraîner des temps d'attente et éventuellement des goulots
d'étranglement dans l'application. Cependant, la communication synchrone peut offrir une
réponse rapide et directe lorsque les deux parties sont disponibles.

2. **Communication Asynchrone** :
Dans une communication asynchrone, l'émetteur envoie un message et continue son
exécution sans attendre de réponse immédiate. Le destinataire traite le message en différé,
ce qui permet aux deux parties de fonctionner de manière indépendante. Cela peut être
particulièrement avantageux dans les situations où le temps de réponse du destinataire est
variable ou lorsque la charge de travail est élevée. Cependant, cela peut entraîner une latence
accrue entre l'envoi et la réception du message.

Dans le contexte de votre application et de l'utilisation de Kafka entre UserService et Notif-


Service, voici comment ces concepts s'appliquent :

Vous avez utilisé une communication asynchrone en intégrant Kafka entre UserService et
Notif-Service. Plus précisément, dans la méthode "login" du contrôleur de UserService, vous
insérez un sujet Kafka à envoyer. Ce sujet contient des informations pertinentes, telles que les
détails d'authentification de l'utilisateur. Une fois le sujet Kafka publié par UserService, il est
mis en file d'attente dans Kafka, et le UserService peut continuer à fonctionner sans attendre
de réponse immédiate.

De l'autre côté, le Notif-Service (qui fonctionne de manière indépendante) écoute le sujet


Kafka associé aux événements de connexion. Lorsqu'il détecte un événement de connexion, il
peut alors envoyer un e-mail de notification à l'utilisateur concerné. Cette approche
asynchrone permet au UserService de ne pas être bloqué par l'envoi de notifications par e-
mail, tout en permettant au Notif-Service de gérer les e-mails de manière autonome, en
fonction de sa charge de travail et de sa disponibilité.

En somme, l'utilisation de Kafka pour la communication entre UserService et Notif-Service


introduit une communication asynchrone, ce qui permet aux deux microservices de
fonctionner de manière indépendante et efficace, sans temps d'attente excessif, tout en
garantissant que les notifications par e-mail soient gérées en temps opportun.
~2~

Vous aimerez peut-être aussi