Services ہم وقت (request/response REST یا gRPC کے ذریعے) یا غیر ہم وقت (پیغامات/events ایک broker جیسے Kafka یا RabbitMQ کے ذریعے) سے بات چیت کرتے ہیں۔
Synchronous (request/response)
کال کنندہ جواب کے لیے انتظار کرتا ہے۔ سادہ اور سہج ہے، لیکن یہ دستیابی کو جوڑتا ہے — اگر callee نیچے ہے، تو کال کنندہ متاثر ہوتا ہے۔
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Asynchronous (messaging/events)
بھیجنے والا ایک پیغام شائع کرتا ہے اور آگے بڑھتا ہے؛ consumers اسے بعد میں process کرتے ہیں۔ یہ services کو وقت میں decouples کرتا ہے۔
Order Service ──publish "OrderPlaced"──▶ [ Broker ] ──▶ Email Service
│
└──▶ Inventory Service
