Paslaugos komunikuoja arba sinchroniškai (užklausą/atsakymą per REST arba gRPC) arba asinchroniškai (žinutes/įvykius per brokerį, pvz., Kafka arba RabbitMQ).
Sinchroninis (užklausą/atsakymą)
Šaukiantysis laukia atsakymo. Paprasta ir intuityvus, tačiau tai sujungia prieinamumą — jei iškviestoji paslauga yra nebėra, šaukiantis yra paveiktas.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asinchroninis (žinutes/įvykiai)
Siuntėjas paskelbias žinutę ir eina toliau; vartotojai ją vėliau apdoroja. Tai atriša paslaugos laike.
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
