Tjänster kommunicerar antingen synkront (begäran/svar över REST eller gRPC) eller asynkront (meddelanden/händelser via en mäklare som Kafka eller RabbitMQ).
Synkront (begäran/svar)
Anroparen väntar på ett svar. Enkelt och intuitivt, men det kopplar tillgänglighet — om den anropade tjänsten är nere, påverkas anroparen.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asynkront (meddelanden/händelser)
Avsändaren publicerar ett meddelande och fortsätter; konsumenter bearbetar det senare. Detta frikopplar tjänster i tid.
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
