GraphQL với Spring Boot
Truy cập dữ liệu và hiệu năng

Truy cập dữ liệu và hiệu năng

Kết nối GraphQL resolver với data layer và kiểm soát chi phí truy vấn.

Đây là trang khung của nhóm Truy cập dữ liệu và hiệu năng trong lộ trình học GraphQL với Spring Boot. Nội dung chi tiết sẽ được bổ sung theo từng bài bên dưới.

Trạng thái nội dung

Các bài trong nhóm hiện là placeholder. Hãy đi theo thứ tự sidebar để giữ mạch học đề xuất.

Mục lục

Phạm vi dự kiến

Đi từ service/repository đến các vấn đề thường gặp như N+1, batch loading, cache, transaction và reactive execution.

Các bài trong nhóm

  • Kết nối service/repository — Đặt ranh giới giữa resolver, application service và repository khi phục vụ GraphQL.
  • JPA và transaction boundary — Xử lý lazy loading, transaction và projection khi resolver đọc dữ liệu JPA.
  • N+1 query — Nhận diện N+1 trong nested field và đo tác động của nó lên database.
  • Batch loading và DataLoader — Gom nhiều lần đọc thành batch bằng DataLoader để giảm số query xuống data source.
  • Cursor/offset pagination trong Spring — Triển khai hai chiến lược pagination và liên kết chúng với repository hoặc query database.
  • Caching — Chọn nơi cache, cache key và invalidation cho dữ liệu được truy cập qua GraphQL.
  • Async và reactive — Đánh giá CompletableFuture, reactive type và giới hạn khi dùng bất đồng bộ trong resolver.

Bước tiếp theo

Bắt đầu từ bài đầu tiên của nhóm hoặc yêu cầu viết chi tiết một trang cụ thể bằng skill fumadocs-technical-writer.