Docs học tập
Backend nền tảng

F3 · REST, GraphQL và gRPC

REST: theo resource, JSON qua HTTP/1.1, query cố định, dễ cache.

F3 · Middle

REST: thực đơn cố định. GraphQL: tự chọn món trong một lần gọi. gRPC: bếp trong nội bộ nói chuyện bằng mật mã nhanh.

Cốt lõi

  • REST: theo resource, JSON qua HTTP/1.1, query cố định, dễ cache.
  • GraphQL: 1 endpoint, client chọn trường cần lấy → tránh over/under-fetching.
  • gRPC: nhị phân (protobuf) qua HTTP/2, độ trễ thấp, hỗ trợ streaming.

Đánh đổi

REST → API công khai, CRUD. GraphQL → mobile app, query linh hoạt. gRPC → microservices nội bộ.

Trong thực tế

Netflix dùng GraphQL cho mobile; gRPC trong microservices nội bộ.

Bug thường gặp

GraphQL cho phép query lồng sâu không giới hạn → một request làm DB quá tải (cần giới hạn độ sâu/độ phức tạp).

Tự hỏi lại

Vì sao GraphQL khó cache hơn REST?

On this page