API gateway là gì? 9 Ưu nhược điểm của API gateway
12/07/2023 07:58 am | Lượt xem : 5995
API gateway được đánh giá là một trong những dịch vụ phổ biến nhất trong số những ứng dụng phát triển hiện đại. Bằng cách áp dụng công cụ này giúp Việc quản lý, bảo mật cũng như quá trình kiểm soát việc truy cập đến các API thông qua công cụ này được diễn ra hiệu quả và dễ dàng hơn. Bài viết dưới đây TENTEN sẽ mang đến cho bạn cái nhìn tổng quan về API gateway, lợi ích và nhược điểm của nó.
Contents
API gateway là gì?
Đây là một công cụ trung gian, được sử dụng trong việc quản lý API ở giữa các client (máy khách) với nhóm các backend service. API gateway hoạt động giống với một reverse proxy và nhận được tất cả các lệnh gọi API.
Khi nhận được yêu cầu, công cụ này sẽ thực hiện lần lượt các bước tìm kiếm, chỉnh sửa, xác thực, cuối cùng là điều hướng để có thể gửi đến các API phù hợp trong phần sau. Bên cạnh đó, công cụ này còn có thể được sử dụng để bảo mật API, tiến hành phân tích số lượng request, tình trạng hệ thống,…
Ví dụ điển hình cho trường hợp này là Netflix API gateway, đây là một dịch vụ phát trực tiếp trên nền tảng Netflix. Nó được tích hợp sẵn trên rất nhiều thiết bị khác nhau như smartphone, tablet, laptop hay TV,…
Khi nhận được request từ nhiều thiết bị khác nhau, nó bắt đầu thực hiện việc xác định loại yêu cầu, chuyển tiếp giải pháp phù hợp hay có thể đáp ứng đến với nơi nhận.
Các ưu điểm của API gateway là gì?
Nhiều doanh nghiệp sử dụng công cụ này bởi những lợi ích mà nó mang lại:
Hỗ trợ code về phía frontend gọn gàng hơn
Đối với những cách tracking thông thường, đối với từng dịch vụ, bạn sẽ cần phải tracking toàn bộ endpoint. Tuy nhiên, bạn sẽ không gặp phải tình trạng này khi sử dụng API gateway. Phần code frontend khi được gọi đến API gateway trở nên ngắn gọn hơn, giúp giảm thiểu gánh nặng lên hệ thống.
Theo dõi, quản lý traffic đơn giản hơn
Ở nhiều hệ thống công cụ này có sự tích hợp tính năng giúp hỗ trợ quản lý traffic vô cùng hữu ích đó là theo dõi, quản lý lượng traffic thông qua GUI hay APIs của gateway. Vì thế, việc sử dụng API gateway sẽ là lựa chọn dành cho bạn.
Requests caching, load balancing
API gateway được sử dụng như một công cụ load balancing của hệ thống. Trong trường hợp này, khu vực backend sẽ không nhận được request trực tiếp. Từ đó việc hệ thống quá tại cũng được cải thiện, đảm bảo quá trình vận hành duy trì ổn định.
Thay thế các authentication services
Trong hệ thống người dùng, công cụ này còn có thể thay thế các authentication services. Công cụ này cung cấp nhiều cơ chế để xác thực, trong đó chúng có thể được dùng để xác thực cho người dùng. Việc này sẽ góp phần tiết kiệm thời gian cũng như tối ưu hóa hệ thống hơn.
Có thể dùng để che giấu phần cấu trúc của hệ thống Microservices với bên ngoài
Bởi vì công cụ này chính là trung gian ở giữa client và các service, đồng thời giữa những endpoints trong hệ thống services chỉ được gọi nội bộ hoặc thông qua API gateway nhờ public endpoints, nên clients sẽ không thể hiểu được về sự phân chia của các backend services.
Việc này sẽ hỗ trợ các lập trình viên refactor code frontend dễ dàng hơn.
Những nhược điểm khi sử dụng API gateway là gì?
Bên cạnh những ưu điểm mà nó mang lại, API gateway cũng đem đến những khó khăn không dễ dàng giải quyết:
Tốn thêm tiền
Người dùng cần phải duy trì một khoản chi phí cho việc vận hành hệ thống API gateway, như tiền điện, tiền server hay tiền quản lý hệ thống.
Ngoài ra, tại các doanh nghiệp có hệ thống lớn, chứa những tính năng nâng cao sẽ phải chi trả thêm khoản phí bản quyền Enterprise cho các API gateway này.
Tăng thêm tác nhân gây lỗi
Người dùng sẽ phải thực hiện config, chỉnh sửa code cũng như quản lý server gateway, trước khi sử dụng API gateway. Việc này có thể dẫn đến nguy cơ phát sinh gây lỗi hệ thống, thậm chí là các server không nhận được request.
Có thể gây tình trạng nghẽn cổ chai
Công cụ này có thể gây ra tình trạng quá tải, dẫn đến việc load chậm ở hệ thống trong trường hợp không được scale hoặc config hợp lý.
Tăng thêm thời gian response
Thời gian chờ có thể lâu hơn do các response được API gateway gửi đi cần được thông qua các server trung gian.
Cách thức hoạt động của API gateway như thế nào?
Nhiều người dùng sử dụng công cụ này vì những tính năng vượt trội của nó như:
Xác thực và ủy quyền: các tổ chức có thể xác thực token hay kiểm tra JSON Web Token để tiến hành xác thực API. Trường hợp hợp lệ, các request sẽ được cấp quyền truy cập. Việc giới hạn quyền truy cập này cũng có thể được cài đặt.
Rate limiting, phân tích traffic: thông qua cách điều chỉnh các request, A P I gateway có thể hạn chế tối đa tình trạng quá tải xảy ra. Quá trình này được diễn ra thông qua việc giới hạn tần suất gửi request, kích thước phản hồi, thiết lập quy tắc,…
Cấu hình cùng triển khai chính sách WAF: API gateway có thể thực hiện việc duy trì cấu hình chính sách WAF trước những cuộc tấn công injection attack diễn ra, đồng thời thực hiện các cập nhật về chữ ký bảo mật cũng như kiểm tra lỗi tràn bộ đệm dữ liệu.
Định tuyến cùng tối ưu hóa nội dung: API được chuyển đến các endpoints phù hợp qua sự kết hợp của load balancing cùng với chuyển đổi nội dung.
Rewrite cùng với response policy management: Tính năng này sử dụng các policy expression để có thể tiến hành chuyển đổi HTTP transaction thông qua API gateway. Ngoài ra, các request của người dùng được đảm bảo về tính tin cậy khi chuyển hướng đến các đích tối ưu nhờ chính sách rewrite và response của công cụ API.
Thông tin chi tiết, thực hiện giải pháp bảo mật Single-Pass: các tính năng bảo mật API sẽ được tích hợp trong một thiết bị xử lý WAF, ví dụ: load balancing hoặc định tuyến nội dung. Kiến trúc API cũng được đơn giản hóa, cải thiện về hiệu suất ứng dụng thông qua việc thực hiện bảo mật API.
API gateway được nhiều doanh nghiệp lựa chọn sử dụng bởi nó là một giải pháp đơn giản, dễ dàng thiết lập, hỗ trợ doanh nghiệp giảm thiểu thời gian cũng như tài nguyên cần thiết cho quá trình quản trị. A P I gateway có thể được sử dụng như một nền tảng quản lý toàn diện khi doanh nghiệp xác định thành công chiến lược kinh doanh phù hợp.
Các tìm kiếm liên quan đến chủ đề “API Gateway”
A P I gateway NGINX | A P I gateway Azure | Kong A P I Gateway | A P I Gateway AWS |
Các loại A P I Gateway | A P I Gateway open source | A P I Gateway nodejs | A P I Gateway example |