სისტემაში კომპონენტები (სერვისები, კლიენტები) ურთიერთობენ APIs და სხვადსხვა პროტოკოლების მাშინ — სინქრონული (REST, gRPC) და ასინქრონული (messaging/queues). იმის გაგება, თუ როგორ ურთიერთობენ კომპონენტები, ფундამენტური უნარი არის რამდენიმე ნაწილისგან შედგენილი სისტემების დიზაინისთვის.
სინქრონული კომუნიკაცია (მოთხოვნა/პასუხი)
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
