Les services communiquent soit de manière synchrone (requête/réponse via REST ou gRPC), soit de manière asynchrone (messages/événements via un broker comme Kafka ou RabbitMQ).
Synchrone (requête/réponse)
L'appelant attend une réponse. Simple et intuitif, mais cela couple la disponibilité — si l'appelé est hors ligne, l'appelant en est affecté.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asynchrone (messages/événements)
L'expéditeur publie un message et continue ; les consommateurs le traitent plus tard. Cela découple les services dans le temps.
