服务通过同步方式(REST 或 gRPC 上的 request/response)或异步方式(通过 Kafka 或 RabbitMQ 等 broker 的消息/事件)进行通信。
Synchronous (request/response)
调用者等待回复。简单直观,但会耦合可用性——如果被调用者宕机,调用者会受到影响。
http
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asynchronous (messaging/events)
发送者发布消息并继续;消费者稍后处理它。这在时间上解耦了服务。
text
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
