API Gateway là gì? Chức năng ra sao? Hãy tìm câu trả lời trong bài viết dưới đây nhé!
API Gateway là gì?
API Gateway là một dịch vụ trong lĩnh vực công nghệ thông tin, thường được sử dụng trong kiến trúc phân tán để quản lý và kiểm soát việc truy cập vào các API (Application Programming Interface) của một hệ thống hoặc ứng dụng.
API Gateway chịu trách nhiệm điều phối, quản lý và bảo vệ các API khỏi các yêu cầu truy cập không ủy quyền, tấn công, quá tải và nhiều vấn đề bảo mật khác. Nó cung cấp một lớp trung gian giữa người dùng hoặc ứng dụng gửi yêu cầu và các dịch vụ nền mà API đó cung cấp.
Có thể nói, API Gateway là một điểm vào độc lập (single point of entry) cho nhiều client của một ứng dụng (application).
Chức năng của API Gateway
- Quản lý yêu cầu và routing
API Gateway cho phép bạn định nghĩa các tuyến đường (routes) và điều hướng yêu cầu đến các dịch vụ cụ thể dựa trên các tiêu chí như URL, phương thức HTTP, và các thông tin khác trong yêu cầu.
- Kiểm soát truy cập và bảo mật
API Gateway cho phép xác thực và ủy quyền người dùng trước khi cho phép yêu cầu truy cập vào các API. Điều này giúp bảo vệ dịch vụ khỏi các yêu cầu trái phép hoặc không ủy quyền.
- Chuyển đổi dữ liệu và định dạng
API Gateway có thể thực hiện chuyển đổi định dạng dữ liệu (như JSON, XML, hoặc protobuf) giữa yêu cầu và các dịch vụ nền, giúp đảm bảo tích hợp dễ dàng với các hệ thống khác.
- Quản lý phiên và ghi nhật ký
API Gateway có thể theo dõi và quản lý phiên làm việc của người dùng, giúp theo dõi trạng thái và lịch sử giao dịch. Nó cũng có thể ghi nhật ký các hoạt động để phân tích và giám sát.
- Quản lý thời gian chờ và độ trễ
API Gateway có thể xử lý các thời gian chờ và độ trễ trong yêu cầu, giúp cải thiện hiệu suất và khả năng mở rộng của hệ thống. Sử dụng API Gateway có thể giúp tạo ra một lớp trung gian linh hoạt, an toàn và quản lý hiệu quả giữa người dùng và các dịch vụ trong một hệ thống phân tán.
Ví dụ về luồng của một yêu cầu từ phía client thông qua API Gateway đến dịch vụ phía Backend.
- Bước 1: client gửi request đến API Gateway. Request thường là các HTTP request, có thể là REST, GraphQL, v.v..
- Bước 2: API Gateway xác thực HTTP request.
- Bước 3: API Gateway kiểm tra IP của người gửi request và các HTTP headers khác để xem request này thuộc allow-list hoặc deny-list.
- Bước 4: API Gateway truyền request cho một identity provider (nhà cung cấp danh tính) cho việc xác thực và cấp quyền.
- API Gateway nhận lại một session đã xác thực từ identity provider với phạm vi mà request được phép thực hiện.
- Bước 5: Một cấp kiểm tra rate-limit cao hơn sẽ được áp dụng. Nếu nó bị quá limit thì request sẽ bị từ chối ở đây.
- Bước 6 + Bước 7: Với sự giúp đỡ của thành phần service discovery, API Gateway xác định dịch vụ backend phù hợp để xử lý request.
- Bước 8: API Gateway chuyển request thành phương thức thích hợp và gửi request đã được chuyển đổi đến dịch vụ backend.
Hy vọng với những thông tin được chia sẻ ở trên, các bạn đã nắm vững được một số thông tin cơ bản về API Gateway. Chúc các bạn học tập và làm việc hiệu quả!
Bộ môn: Công nghệ Thông tin
Trường Cao đẳng FPT Mạng cá cược bóng đá
cơ sở Đà Nẵng