Tương tự như các API khác, API Gateway ngày càng phổ biến và được sử dụng rộng rãi trong phát triển ứng dụng hiện đại. Vậy API Gateway là gì và mang lại những lợi ích nào? Tất cả sẽ được trả lời trong bài viết dưới đây.
Xem thêm tại: 21 Phần Mềm KPI Hiệu Quả Tốt Nhất Cho Doanh Nghiệp 2023
API Gateway là gì?
API Gateway là một công cụ quản lý API nằm giữa các client và các backend service. Có thể xem API Gateway như một cánh cổng trung gian, đồng thời là cổng vào duy nhất tới hệ thống microservice.
API Gateway chấp nhận tất cả request và lệnh call API từ client. Sau đó API Gateway sẽ chỉnh sửa, xác thực, điều hướng chúng đến các microservice phía sau và tìm nạp, tổng hợp tài nguyên thích hợp để gửi phản hồi cho các request. Thông thường, API Gateway xử lý một request bằng cách gọi nhiều microservice và tổng hợp lại để xác định đường dẫn tốt nhất.
Các trang web thương mại điện tử có thể sử dụng API Gateway cung cấp cho các client di động một endpoint nhằm truy xuất tất cả chi tiết của một sản phẩm chỉ với một request. API Gateway sẽ gọi cho nhiều service khác nhau, như thông tin và đánh giá sản phẩm, sau đó tổng hợp kết quả.
>>> Có thể bạn quan tâm:
Big Data là gì? Ứng dụng, cơ hội việc làm Big Data tháng 3/2023
Machine learning là gì? Ứng dụng thực tế phổ biến nhất 2023
Các thành phần của API Gateway
Một API Gateway gồm có các thành phần như sau:
- Bảo mật (Security)
- Bộ nhớ đệm (Caching)
- Thành phần API và tiến trình API (API composition and processing)
- Quản lý hạn mức truy cập (Managing access quotas)
- Theo dõi tình trạng của API (API health monitoring)
- Lập phiên bản (Versioning)
- Định tuyến (Routing)
Chức năng của API Gateway
API Gateway thực hiện một loạt chức năng quản lý và bảo vệ như:
- Xác thực và ủy quyền: API Gateway có thể xác thực tất cả lệnh call API thông qua cơ chế giống như các token xác thực. Tổ chức cũng có thể tùy chỉnh cấu hình API Gateway để giới hạn quyền truy cập của người dùng và ứng dụng.
- Rate limiting và traffic analysis: API Gateway có thể điều chỉnh những request API để ngăn chặn việc backend service bị quá tải.
- Duy trì cấu hình và thực thi WAF: API Gateway có thể duy trì cấu hình chính sách WAF để bảo vệ API instance và các endpoint khỏi những cuộc tấn công.
- Điều hướng và tối ưu hóa: API Gateway có khả năng cân bằng và chuyển tải nội dung, giúp cho người dùng có thể đảm bảo lệnh call API sẽ chuyển tới những điểm đến tốt nhất.
- Quản lý chính sách rewrite và phản hồi: Các biểu thức chính sách có thể được dùng để chuyển đổi HTTP transaction khi chúng đi qua API Gateway. Thông qua những chính sách rewrite và phản hồi, yêu cầu từ người dùng sẽ được điều hướng hiệu quả đến các trang đích tối ưu.
Lợi ích của API Gateway
1. Có thể che giấu cấu trúc của hệ thống microservices với bên ngoài
Các clients tương tác với hệ thống thông qua API Gateway thay vì gọi trực tiếp đến một service cụ thể. Các endpoint của các service chỉ được gọi nội bộ, tức là giữa service với service hoặc được gọi từ API Gateway. Người dùng sẽ gọi những API này thông qua public endpoint từ API Gateway.
Chính vì thế nên các client sẽ không biết được những service bên backend được phân chia như thế nào, từ đó lập trình viên cũng dễ dàng refactor code frontend hơn.
2. Phần code phía frontend gọn gàng hơn
Phần code frontend sẽ gọn gàng hơn nhờ vào việc chỉ cần gọi đến API Gateway thay vì tracking rất nhiều endpoint trên từng service.
3. Dễ dàng theo dõi và quản lý traffic
Các hệ thống API Gateway hiện nay hầu hết đều kèm theo tính năng theo dõi và quản lý traffic thông qua GUI hoặc chính các API của hệ thống Gateway.
4. Requests caching và cân bằng tải
API Gateway còn một vai trò khác nữa đó chính là load balancer của hệ thống. Các request sẽ không được gửi trực tiếp đến backend nên rủi ro hệ thống bị quá tải sẽ được giảm thiểu.
5. Bổ sung thêm một lớp bảo mật cho hệ thống
API Gateway có thể hỗ trợ ngăn chặn các cuộc tấn công bằng cách thêm một lớp bảo vệ các loại tấn công như DDoS, SQL Injections,…
6. Thay thế authentication service
API Gateway cung cấp nhiều cơ chế hỗ trợ xác thực người dùng giúp tiết kiệm thời gian và làm cho hệ thống trở nên đơn giản hơn.
4 Nhược điểm của API Gateway
1. Tăng thời gian response
Vì response phải đi qua các server trung gian nên việc phản hồi sẽ bị trễ hơn so với trực tiếp gọi đến hệ thống.
2. Thêm tác nhân gây lỗi
Muốn sử dụng được API Gateway, người dùng sẽ cần phải config, chỉnh sửa code, quản lý server gateway,… Trong trường hợp chẳng may gateway gặp lỗi thì các request sẽ không thể đến được phía server.
3. Có thể gây tắt nghẽn
Hệ thống gateway nếu như không được config hay scale hợp lý thì rất có khả năng sẽ bị quá tải và ảnh hưởng, làm chậm toàn bộ hệ thống.
4. Tốn thêm tiền
API Gateway đòi hỏi các tổ chức cần phải bỏ ra rất nhiều khoản chi phí như tiền server, tiền quản lý hệ thống API Gateway,… Đặc biệt, với các hệ thống lớn cần những tính năng “xịn” thì bạn sẽ phải trả thêm tiền mua bản Enterprise của các API Gateway.
Kết
Trên đây là những thông tin mà Thetips đã tổng hợp để trả lời cho câu hỏi API Gateway là gì? Hy vọng bài viết này của Thetips sẽ hữu ích với các bạn.
Nguồn: API Gateway là gì? 6 lợi ích của API Gateway đối với một hệ thống microservice