Tìm hiểu thêm về Pixta Vietnam
🌐 Website: https://pixta.vn/careers
🏠 Fanpage: https://www.facebook.com/pixtaVN
🔖 LinkedIn: https://www.linkedin.com/company/pixta-vietnam/
GraphQL là một ngôn ngữ truy vấn dữ liệu cho API (a query language for APIs) cho phép lập trình viên yêu cầu chính xác dữ liệu mà họ cần từ phía server. Không giống như REST API truyền thống, trong đó mỗi tài nguyên thường có một endpoint riêng, GraphQL cho phép định nghĩa các truy vấn tùy chỉnh để truy xuất dữ liệu từ nhiều nguồn khác nhau chỉ bằng 1 request. Điều này giúp giảm thiểu lưu lượng mạng và tối ưu hóa việc lấy dữ liệu, đồng thời cung cấp khả năng linh hoạt cao cho các ứng dụng cần phải làm việc với nhiều loại dữ liệu khác nhau.
AWS AppSync là một dịch vụ quản lý bởi Amazon Web Services (AWS). Với AWS AppSync, bạn có thể dễ dàng xây dựng các API GraphQL mà không cần quản lý cơ sở hạ tầng phức tạp. Dịch vụ này cung cấp khả năng kết nối với nhiều nguồn dữ liệu khác nhau như Amazon DynamoDB, AWS Lambda, Amazon OpenSearch và nhiều dịch vụ AWS khác. Điều này giúp bạn tập trung vào việc phát triển chức năng của ứng dụng mà không phải lo lắng về việc quản lý cơ sở hạ tầng.
Trong phạm vi bài viết này, ta sẽ đi không đi sâu vào giải thích các khái niệm về GraphQL mà sẽ tìm hiểu về cách AWS AppSync hỗ trợ trong việc xây dựng GraphQL API.
Nguồn ảnh: AWS
Là phần quan trọng định nghĩa cấu trúc của API GraphQL, xác định các types, queries, mutations và subscriptions mà ứng dụng hỗ trợ.
Là các hàm hoặc logic xử lý query và mutation từ client. Resolver hoạt động như cầu nối giữa schema và nguồn dữ liệu thực tế, cho phép bạn kiểm soát cách dữ liệu được truy vấn và trả về.
Khi một query GraphQL được gửi từ client đến AWS AppSync, resolver tương ứng với query được kích hoạt.
Resolver đọc thông tin từ truy vấn (loại truy vấn, đối tượng, tham số), sử dụng thông tin này để xác định cách truy xuất dữ liệu từ nguồn dữ liệu cụ thể (DynamoDB, Lambda, Opensearch, …)
Sau khi dữ liệu được truy xuất, resolver sẽ xử lý nó, thực hiện bất kỳ biến đổi hoặc xử lý nào cần thiết, sau đó trả về dữ liệu cho client theo định dạng mà đã được định nghĩa trong schema.
Có 2 loại resolver:
Nguồn ảnh: AWS
Là các nguồn dữ liệu mà AppSync có thể truy vấn. Datasource có thể là Amazon DynamoDB, AWS Lambda, Amazon Elasticsearch, HTTP endpoints, và nhiều dịch vụ AWS khác. Mỗi data source cung cấp các tương tác cụ thể với nguồn dữ liệu liên quan.
Nguồn: AWS
Cách Real-time Subscriptions hoạt động:
Cách Offline Data hoạt động:
Trên đây là phần giới thiệu tổng quan về AWS AppSync. Ngoài những tính năng đã đề cập ở trên, AppSync còn rất nhiều ứng dụng nâng cao khác. Nếu như muốn tìm hiểu thêm về Appsync, các bạn có thể tham khảo thêm các đường link sau.
Hy vọng bài viết này sẽ giúp ích với các bạn đang có ý định xây dựng hệ thống sử dụng GraphQL và AWS AppSync.
Tác giả: Vũ Đoàn
🌐 Website: https://pixta.vn/careers
🏠 Fanpage: https://www.facebook.com/pixtaVN
🔖 LinkedIn: https://www.linkedin.com/company/pixta-vietnam/