Lợi ích khi sử dụng API Gateway

Lợi ích khi sử dụng API Gateway
API Gateway là gì và nó mang đến những lợi ích như thế nào khi sử dụng? Hãy cùng khám phá chi tiết thông qua bài viết này ngay nhé!

API Gateway là gì?

Ở trên thực tế, trung bình một hệ thống microservice có từ vài cho tới hàng trăm service khác nhau.

Và sẽ thật “lộn xộn” nếu như client giao tiếp đến hệ thống mà không có sự trợ giúp của một phương thức hỗ trợ nào cả.

Đây cũng chính là lý do mà API Gateway xuất hiện như một giải pháp trung gian, kết nối client và hệ thống microservice ở phía sau.

Có thể ví API Gateway như một cánh cổng, nơi duy nhất dẫn vào hệ thống microservice.

Vai trò của API Gateway là nhận các yêu cầu đến từ phía client.

Sau đó, thực hiện việc chỉnh sửa - xác thực - điều hướng chúng tới những API phù hợp trên các services phía sau.

Bên cạnh nhiệm vụ chính là proxy request, hệ thống API Gateway cũng thường đảm nhận luôn một vài vai trò khác như bảo mật API, monitoring, thống kê số lượng yêu cầu cũng như tình trạng của hệ thống.

Lợi ích khi sử dụng API Gateway

Lợi ích khi sử dụng API Gateway

Không làm lộ cơ cấu của hệ thống microservice với bên ngoài

API Gateway giúp client tương tác với hệ thống microservice nhưng không cần phải gọi trực tiếp đến một service cụ thể nào đó.

Lúc này, các endpoint của những service đó sẽ chỉ được gọi nội bộ.

Chính vì vậy, client sẽ không thể hiểu được những service phía backend được phân chia ra sao.

Bên cạnh đó, việc refactor code frontend cũng trở nên đơn giản hơn với lập trình viên.

Lợi ích khi sử dụng API Gateway

Code phía frontend sẽ gọn gàng hơn

Vì tất cả chỉ việc gọi đến API Gateway và không phải tracking nhiều endpoint trên từng service một, nên phần code frontend lúc này trông sẽ gọn gàng hơn, đặc biệt là khi hệ thống ngày càng phình to ra.

Lợi ích khi sử dụng API Gateway

Theo dõi và quản lý lưu lượng dữ liệu dễ dàng

Có thể nhận xét, phần lớn các hệ thống API Gateway phổ biến hiện nay đều đi kèm với các tính năng theo dõi - quan sát - quản lý lượng traffic thông qua GUI.

Hoặc đôi khi những tính năng này sẽ được thực hiện thông qua các API của hệ thống Gateway.

Lợi ích khi sử dụng API Gateway

Request caching

API Gateway sẽ kiêm luôn vai trò load balancer của hệ thống.

Do vậy, request sẽ không được gửi trực tiếp đến backend, giúp giảm bớt rủi ro bị quá tải hệ thống.

Lợi ích khi sử dụng API Gateway

Có thêm một lớp bảo mật hệ thống

Sử dụng API Gateway giúp tăng cường thêm một lớp bảo vệ cho hệ thống.

Qua đó, ngăn chặn hiệu quả các cuộc tấn công thường gặp như DDoS, SQL injection...

Lợi ích khi sử dụng API Gateway

Có khả năng thay thế authentication service

API Gateway thường cung cấp rất nhiều cơ chế xác thực.

Chúng ta có thể ứng dụng nó để xác thực người dùng, giúp tiết kiệm thời gian và khiến cho hệ thống trở nên đơn giản hơn.

Lợi ích khi sử dụng API Gateway

Một số hạn chế của API Gateway

Làm tăng thời gian phản hồi

Vì phải trải qua bước server trung gian, nên việc phản hồi sẽ bị chậm hơn so với khi gọi trực tiếp đến hệ thống.

Lợi ích khi sử dụng API Gateway

Gia tăng tác nhân gây lỗi

Nếu muốn sử dụng API Gateway thì chúng ta cần phải thực hiện rất nhiều công việc như config, thay code, quản lý server...

Vấn đề trên khiến cho chúng ta có thêm nhiều việc phải lo và trong trường hợp không may, khi Gateway có lỗi thì request cũng sẽ chẳng thể tới được phía server.

Lợi ích khi sử dụng API Gateway

Làm chậm hệ thống

Nếu không được scale hoặc config hợp lý, thì Gateway có khả năng bị quá tải và làm chậm hệ thống.

Lợi ích khi sử dụng API Gateway

Gia tăng nhiều chi phí

Khi sử dụng API Gateway, chúng ta có thêm nhiều chi phí cần phải lo hơn như server, điện, quản lý hệ thống...

Với các hệ thống “khủng”, chúng ta cần phải chi trả thêm cho việc mua bản enterpise của các API Gateway.

Lợi ích khi sử dụng API Gateway