Servisi komuniciraju ili sinkrono (zahtjev/odgovor preko REST-a ili gRPC-a) ili asinkrono (poruke/događaji kroz broker poput Kafke ili RabbitMQ-a).
Sinkrono (zahtjev/odgovor)
Pozivajući čeka odgovor. Jednostavno i intuitivno, ali vezuje dostupnost — ako pozivani servis nije dostupan, pozivajući je pogođen.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asinkrono (poruke/događaji)
Pošiljaču objavi poruku i nastavlja dalje; konzumenti je obrađuju kasnije. To odspaja servise u vremenu.
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
