Tầm quan trọng của API gateway trong kiến trúc microservice

1522
15-02-2022
Tầm quan trọng của API gateway trong kiến trúc microservice

Ngày nay, API gateway đang được sử dụng nhiều hơn do sự gia tăng sử dụng các microservice. Với sự phát triển của API cũng như các sáng kiến công nghệ tập trung vào API, các API gateway đang trở nên phổ biến hơn cả. Vậy API gateway đóng vai trò như thế nào trong kiến trúc microservice? Hãy cùng Bizfly Cloud tìm hiểu trong bài viết dưới đây nhé!

1. Hoạt động của một API gateway trong kiến trúc Microservices

Hãy xem xét một ví dụ cụ thể về một trang sản phẩm của ứng dụng thương mại điện tử Amazon. Chúng ta có thể thấy rất nhiều thông tin cần thiết được hiển thị:

Hoạt động của một API gateway trong kiến trúc Microservices

Hãy coi các mục Tìm kiếm sản phẩm, Tồn kho, Vận chuyển, Xếp hạng - Đánh giá, Công cụ đề xuất, Người bán và Tài chính - Bảo hiểm là 7 microservice khác nhau đang được sử dụng để hiển thị trang trên. Vì các microservice này đã được triển khai riêng biệt trên một máy chủ khác nên nếu máy khách muốn truy cập các dịch vụ này, ít nhất phải gửi 7 request chỉ để tải một trang duy nhất. Điều này chắc chắn sẽ ảnh hưởng đến hiệu suất, mức tiêu thụ tài nguyên, thời gian tải, v.v. Đây là lúc chúng ta cần một API Gateway để giải quyết vấn đề này một cách hiệu quả. 

Hình ảnh minh họa dưới đây giải thích cách API gateway quản lý các lệnh gọi API và Tương tác với các thành phần kiến trúc khác.

API gateway quản lý các lệnh gọi API và tương tác với các thành phần kiến trúc khác

API gateway quản lý các lệnh gọi API và tương tác với các thành phần kiến trúc khác

Trong kiến trúc microservices, khả năng mở rộng và hiệu suất của API Gateway là yếu tố vô cùng quan trọng. Có nhiều công nghệ khác nhau được sử dụng để triển khai khả năng mở rộng và tăng hiệu suất của API gateway. API Gateway chịu trách nhiệm về các chức năng bao gồm định tuyến, giám sát, rate limiting, xác thực, bảo mật, cảnh báo và chính sách, v.v. Nó giúp nhận các request đến từ máy khách và chuyển chúng đến hệ thống quản lý API để áp dụng các chức năng cần thiết và trả về output. API Gateway xử lý yêu cầu bằng cách định tuyến chúng đến backend service. Ví dụ: API gateway trước tiên truy xuất hồ sơ của máy khách có chứa thông tin cá nhân trước khi fetch dữ liệu liên quan.

>> Tìm hiểu thêm: API gateway là gì? Khi nào cần sử dụng API gateway?

2. Lợi ích của API Gateway cho Microservices 

API Gateway giúp các microservice giao tiếp với nhau trong nội bộ bằng cách cung cấp tính linh hoạt và các giao thức hoàn toàn độc lập. Nó cho phép các nhà phát triển tạo tập con kiến trúc ở nhiều dạng khác nhau mà không cần hiển thị công khai các endpoint. API gateway cung cấp các lợi ích như:

  • Lợi ích bảo mật

Vì API gateway nằm giữa front end ứng dụng và các backend microservice nên nó sẽ hoạt động như một hàng rào bảo mật đảm bảo rằng các API Endpoint nhạy cảm không bị lộ ra ngoài. Nó cũng bảo vệ API khỏi các cuộc tấn công độc hại như tấn công DoS, SQL injection và một số cuộc tấn công tương tự khác lợi dụng các lỗ hổng của API.

Mỗi khi một lệnh gọi API được thực hiện, nó phải truy cập vào các dịch vụ bằng địa chỉ IP công cộng. Điều này sẽ kéo theo những rủi ro về bảo mật. Bằng cách chuyển sang API gateway, chỉ có thể truy cập các microservice này bằng địa chỉ IP riêng. Điều này giúp transaction dữ liệu một cách an toàn hơn. Ngoài ra, việc sử dụng API Gateway cũng bảo vệ dữ liệu khỏi các cuộc tấn công DDoS.

  • Giám sát và phân tích

Một số API gateway có tính năng vượt trội với một số công cụ giám sát hoặc phân tích nhất định giúp các nhà phát triển debug và tạo cơ sở hạ tầng có thể mở rộng quy mô. Tuy nhiên không phải tất cả các API gateway đều cung cấp dịch vụ này. Vì vậy sẽ cần có một số giải pháp của bên thứ ba để có thể giúp bạn giám sát và phân tích.

  • Giảm độ phức tạp của Microservices

API gateway giúp giảm độ phức tạp của các microservice bằng cách quản lý kiểm soát quyền truy cập của người dùng, các vấn đề xác thực, rate limiting, mở rộng quy mô và cho phép API của bạn tập trung vào mục tiêu chính.

Đây là một trong những lợi ích nổi bật vì API thực tế không phải xử lý hoặc định dạng phản hồi theo bất kỳ cách nào. Định tuyến được thực hiện bởi API gateway, việc hình thành phản hồi được thực hiện bởi API gateway và thậm chí bộ đệm có thể được xử lý bởi cùng một API gateway.

  • Hỗ trợ mix các giao thức truyền thông 

Mặc dù các API hướng ra bên ngoài thường cung cấp API dựa trên HTTP hoặc REST, các microservice bên trong có thể được hưởng lợi từ việc sử dụng các giao thức truyền thông khác nhau. Các giao thức có thể là ProtoBuf, AMQP hoặc có thể tích hợp hệ thống với SOAP, JSON-RPC hoặc XML-RPC. API gateway có thể cung cấp một API dựa trên REST thống nhất, bên ngoài trên các giao thức khác nhau này, cho phép các nhóm chọn những gì phù hợp nhất với kiến trúc nội bộ. 

  • Tránh để lộ các vấn đề nội bộ cho máy khách bên ngoài

API gateway giúp tách các API bên ngoài khỏi các API microservice bên trong. Nó ẩn lịch sử dịch vụ và thông tin chi tiết về phiên bản khỏi máy khách cho tất cả các microservice của bạn. Như đầu ra, bạn có được hiệu quả để cấu trúc lại microservice với thời gian, loại bỏ tất cả các tác động tiêu cực của các máy khách bị ràng buộc bên ngoài.

Lợi ích của API Gateway cho Microservices

API gateway giúp tách các API bên ngoài khỏi các API microservice bên trong

Ngoài tất cả những lợi ích này, API gateway microservices cho phép máy khách tạo một call request dữ liệu duy nhất. Nó giúp máy khách có được một số microservice và có đủ thông tin chỉ trên một màn hình. Mỗi call request này sử dụng băng thông mạng và client code. Mõi call request này mang lại hiệu quả hơn nhiều so với nhiều call request cùng lúc. API gateway Microservices cho phép tự động translate protocol để mọi người có thể giao tiếp bằng cùng một ngôn ngữ và do đó, nó cho phép luồng dữ liệu nhanh hơn giữa các endpoint. 

Tóm tắt các lợi ích của API gateway:

  • Nó cho phép các máy khách phân vùng các ứng dụng thành các microservices. 
  • Nó cho phép máy khách xác định vị trí của các vấn đề dịch vụ.
  • Nó tạo ra API tối ưu cho từng máy khách cụ thể.
  • API gateway giảm số lượng các request/response. Chỉ cần một call request từ máy khách để tải nhiều dịch vụ cùng một lúc chỉ với một lệnh khứ hồi.
  • Nó chuyển đổi giao thức thân thiện với web công cộng tiêu chuẩn thành giao thức nội bộ.

Mặt hạn chế của API gateway Microservice

Mặc dù có nhiều lợi ích khi sử dụng API gateway Microservice, nó vẫn tồn tại một số nhược điểm như:

  • Kiến trúc triển khai của bạn sẽ yêu cầu điều phối và quản lý nhiều hơn với việc bổ sung API gateway
  • Cấu hình của routing logic phải được quản lý trong quá trình triển khai, để đảm bảo định tuyến thích hợp từ API bên ngoài đến Microservice phù hợp
  • Trừ khi được kiến trúc đúng cách để có tính khả dụng và quy mô cao, API gateway có thể trở thành một yếu tố hạn chế hoặc lỗi duy nhất

Tóm lại, API gateway là thành phần thiết yếu khi nói đến các ứng dụng microservices. Việc sử dụng API gateway microservices không chỉ giúp tăng hiệu quả và tốc độ truyền dữ liệu mà còn vô vàn lợi ích khác. Hãy theo dõi các bài viết tiếp theo của Bizfly Cloud để cập nhật thêm nhiều kiến thức về API gateway cũng các tin tức công nghệ mới nhất nhé!

Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

SHARE