Bài này chúng ta và cafedev sẽ tìm hiểu về API Gateway là gì? trong AWS, trước khi chúng ta bắt đầu sử dụng AWS một cách dễ dàng hơn.
Nội dung chính
1. Cổng API
- API Gateway là một cổng bao gồm một loạt các hàm Lambda tạo ra một hệ thống quản lý học tập không máy chủ.
- API Gateway là một dịch vụ được quản lý hoàn toàn giúp các nhà phát triển dễ dàng xuất bản, duy trì, giám sát và bảo mật các API ở mọi quy mô.
- Với một vài cú nhấp chuột trong Bảng điều khiển quản lý AWS, bạn có thể tạo một API hoạt động như một “cửa trước” để các ứng dụng truy cập dữ liệu, logic nghiệp vụ hoặc chức năng từ các dịch vụ hậu cần của bạn, chẳng hạn như các ứng dụng chạy trên Amazon Elastic Compute Cloud ( Amazon EC2), mã chạy trên AWS Lambda hoặc bất kỳ ứng dụng web nào.
- Nếu trình duyệt của bạn đang thực hiện các lệnh gọi API tới API Gateway, thì API Gateway sẽ định tuyến các lệnh gọi đó tới Lambda.
2. Kiến trúc của API Gateway
Giả sử chúng ta có người dùng hoạt động thông qua điện thoại hoặc máy tính xách tay thực hiện một cuộc gọi API tới API Gateway. API Gateway kích hoạt một hàm Lambda hoặc một hàm bên trong EC2.
3. API Caching là gì?
- Trong Amazon API Gateway, bạn có thể bật bộ nhớ đệm API để lưu vào bộ nhớ cache các phản hồi của điểm cuối của bạn.
- Bộ nhớ đệm API có thể giảm số lượng cuộc gọi được thực hiện đến điểm cuối của bạn và cũng cải thiện độ trễ của các yêu cầu tới API của bạn.
- Khi bộ nhớ đệm API được bật, API Gateway lưu trữ các phản hồi từ điểm cuối của bạn trong một khoảng thời gian tồn tại cụ thể, tính bằng giây. API Gateway phản hồi các yêu cầu bằng cách tra cứu phản hồi từ bộ nhớ đệm thay vì đưa ra các yêu cầu tới điểm cuối của bạn.
4. Kiến trúc của bộ đệm API
Giả sử chúng ta có người dùng thực hiện lệnh gọi API tới API Gateway. API Gateway kích hoạt một hàm Lambda và sau đó hàm Lambda gửi lại phản hồi cho API Gateway. Bây giờ, một người dùng khác đã đến và thực hiện lệnh gọi API tương tự tới API Gateway, sau đó chúng tôi bật Bộ nhớ đệm và thời gian tồn tại (TTL). Giả sử TTL là 60 giây. Do đó, phản hồi sẽ nằm bên trong API Gateway trong 60 giây. Bây giờ, để phục vụ yêu cầu của người dùng khác, bạn không cần gọi hàm Lambda vì phản hồi cho yêu cầu đó đã được lưu vào bộ nhớ đệm. Bằng cách này, chúng tôi có thể nhận được phản hồi nhanh hơn nhiều từ người dùng cuối.
5. Các tính năng của API Gateway
- Hiệu quả về chi phí Chi phí(Cost Effective)
rất thấp và hiệu quả vì API Gateway cung cấp mô hình định giá theo từng cấp cho các yêu cầu API. Giá của một yêu cầu API thấp tới 1,51 đô la cho mỗi triệu yêu cầu, bạn cũng có thể giảm chi phí bằng cách giảm số lượng yêu cầu. - Có thể mở rộng(Scalable)
Bạn không phải lo lắng về việc có dịch vụ EC2 hoặc các nhóm Tự động chia tỷ lệ phản hồi các yêu cầu API. API Gateway tự động mở rộng quy mô. - Bộ nhớ đệm và điều chỉnh(Caching and Throttling)
Bộ nhớ đệm là tính năng quan trọng nhất của API Gateway. Bộ nhớ đệm được sử dụng để lưu vào bộ nhớ cache các phản hồi của điểm cuối giúp cải thiện độ trễ của các yêu cầu đối với API của bạn. Nó cũng là một yếu tố chính quyết định giá cả của dịch vụ.
Bạn cũng có thể ngăn chặn các rủi ro bảo mật đối với API Gateway của mình. Nếu bạn muốn ngăn chặn các cuộc gọi API gian lận đến API Gateway, bạn có thể định cấu hình dịch vụ điều tiết có thể điều chỉnh các yêu cầu để ngăn chặn các cuộc tấn công. - Linh hoạt(Flexible)
Để triển khai API Gateway, bạn không phải khởi chạy phiên bản EC2 hoặc thiết lập phần mềm Gateway. API Gateway có thể được triển khai trong vài phút thông qua Bảng điều khiển quản lý AWS. - CloudWatch để kết nối(CloudWatch to Connect)
Một Amazon API Gateway được tích hợp với dịch vụ CloudWatch là một dịch vụ giám sát. Công cụ này được sử dụng để theo dõi số liệu của các lệnh gọi API đến, độ trễ và lỗi. - Bảo mật(Security)
Bạn có thể cấp quyền truy cập vào các API của mình. API Gateway được sử dụng để xác minh các yêu cầu đến bằng cách thực hiện các tùy chọn ủy quyền khác nhau như chức năng Lambda và dịch vụ Quản lý truy cập danh tính (IAM). IAM được tích hợp với một cổng cung cấp các công cụ như thông tin đăng nhập AWS, tức là khóa truy cập và khóa bí mật để truy cập API. Một hàm Lambda được sử dụng để xác minh mã thông báo và nếu mã thông báo được xác minh thành công, thì quyền truy cập vào API sẽ được cấp.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Tài liệu từ cafedev:
- Full series tự học Amazon Web Services(AWS)từ cơ bản tới nâng cao tại đây nha.
- Ebook về AWS tại đây.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!