సిస్టమ్లో, కాంపోనెంట్లు (సర్వీసెస్, క్లయింట్లు) APIs మరియు వివిధ ప్రోటోకాల్ల ద్వారా సంప్రదింపుకుంటాయి — సింక్రోనస్ (REST, gRPC) మరియు అసింక్రోనస్ (messaging/queues). కాంపోనెంట్లు ఎలా సంప్రదింపుకుంటాయో అర్థం చేసుకోవడం బహుళ భాగాలతో కూడిన సిస్టమ్లను డిజైన్ చేయడానికి ప్రాథమికమైనది.
సింక్రోనస్ సంప్రదింపు (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
