एक प्रणालीमा, कम्पोनेन्टहरू (सेवाहरू, क्लाइन्टहरू) APIs र विभिन्न प्रोटोकलहरू — सिङ्क्रोनस (REST, gRPC) र असिङ्क्रोनस (मेसेजिङ/queues) को माध्यमबाट संचार गर्छन्। कम्पोनेन्टहरू कसरी संचार गर्छन् भन्ने कुरा बुझ्न सिस्टेमहरू डिजाइन गर्नको लागि मौलिक छ जो धेरै भागहरूबाट बनेका हुन्छन्।
Synchronous communication (request/response)
The caller WAITS for a response (blocking):
REST (HTTP) → most common; resources over HTTP (JSON) → simple, ubiquitous, web-friendly
gRPC → high-performance RPC (binary, HTTP/2) → fast, typed; good for internal services
GraphQL → flexible queries (client requests exactly what it needs)
→ for: direct request/response where the caller needs an answer now
