Trong một hệ thống, các thành phần (service, client) giao tiếp qua APIs và nhiều protocol — đồng bộ (REST, gRPC) và bất đồng bộ (messaging/queues). Hiểu cách các thành phần giao tiếp là điều cơ bản để thiết kế những hệ thống gồm nhiều phần.
Giao tiếp đồng bộ (request/response)
Bên gọi CHỜ một phản hồi (blocking):
REST (HTTP) → phổ biến nhất; tài nguyên qua HTTP (JSON) → đơn giản, phổ cập, thân thiện web
gRPC → RPC hiệu năng cao (binary, HTTP/2) → nhanh, có kiểu; tốt cho service nội bộ
GraphQL → query linh hoạt (client yêu cầu chính xác cái nó cần)
→ cho: request/response trực tiếp khi bên gọi cần câu trả lời ngay
