تتواصل الخدمات إما بشكل متزامن (طلب/رد عبر REST أو gRPC) أو غير متزامن (رسائل/أحداث عبر وسيط مثل Kafka أو RabbitMQ).
التواصل المتزامن (طلب/رد)
ينتظر المُرسل رداً. بسيط وبديهي، لكنه يربط التوفر — إذا كان المستقبل معطلاً، يتأثر المُرسل.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
التواصل غير المتزامن (المراسلة/الأحداث)
يُرسل المُرسل رسالة ويمضي قدماً؛ يعالج المستهلكون الرسالة لاحقاً. هذا يفك الاقتران بين الخدمات زمنياً.
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
