Uploaded by Phuong Nguyentien

API Gateway

advertisement
Cổng API là gì?
Cổng API là một công cụ quản lý dịch vụ và quản lý API tích hợp các chức năng như phát
hành cấu hình, quản lý môi trường, xác thực quyền truy cập , xác thực người dùng và kiểm
soát quyền truy cập. Bạn có thể sử dụng cổng API để lưu trữ API nhằm quản lý dịch vụ một
cách hiệu quả, an toàn và tiết kiệm chi phí. Là một điểm truy cập duy nhất cho các yêu cầu,
cổng API không cho phép khách hàng gửi yêu cầu truy cập đến từng vi dịch vụ một cách
riêng biệt. Thay vào đó, nó phân bổ các yêu cầu đến các dịch vụ tương ứng và thu thập kết
quả rồi chuyển cho khách hàng.
Nội dung

Tại sao chúng ta cần Cổng API?

Các chức năng của Cổng API là gì?
Tại sao chúng ta cần Cổng API?
Sự xuất hiện của Cổng API
Với sự xuất hiện của microservice, ngày càng nhiều doanh nghiệp bắt đầu chọn triển khai hệ
thống của riêng mình trong kiến trúc microservice, trong đó một ứng dụng nguyên khối lớn đ
ược chia thành nhiều hệ thống microservice để bảo trì và triển khai độc lập. Điều này dẫn đến
một số lượng lớn API cần được quản lý trong hệ thống microservice. Các API này có các yêu
cầu dịch vụ khác nhau, kết nối với các hệ thống vi dịch vụ khác nhau, khiến việc quản lý API
ngày càng khó khăn hơn. Chính trong bối cảnh đó mà các cổng API đã xuất hiện. Kể từ đó,
việc xuất bản và quản lý API thông qua cổng API đã trở thành xu hướng ngày càng tăng.
Khi các chức năng của cổng API dần dần phát triển, các cổng API được sử dụng ngày càng
nhiều trong các hệ thống quản lý API cấp doanh nghiệp.
Kiến trúc cổng API
Ưu điểm của Cổng API

Quản lý thống nhất (Unified management)
Cổng API cung cấp khả năng quản lý API toàn bộ vòng đời, bao gồm thiết kế, phát triển, thử
nghiệm, xuất bản, O&M, phát hành và xóa để giúp bạn nhanh chóng xây dựng, quản lý và
triển khai API ở mọi quy mô.

Kiểm soát dòng chảy dễ dàng (Easy flow control)
Cổng API cung cấp chức năng kiểm soát lưu lượng. Nhiều thuật toán có thể được sử dụng để
triển khai kiểm soát lưu lượng tinh tế và bạn có thể tùy chỉnh các chính sách điều chỉnh yêu
cầu để đảm bảo tính ổn định và liên tục của các dịch vụ API.

Giám sát trực quan (Visualized monitoring)
Cổng API giám sát các số liệu hiệu suất cuộc gọi API, độ trễ dữ liệu và lỗi để xác định các rủi ro
tiềm ẩn có thể ảnh hưởng đến dịch vụ.

Bảo vệ an ninh nhiều lớp (Multi-layer security protection)
Cổng API bảo mật lệnh gọi API bằng một loạt các biện pháp, chẳng hạn như kiểm soát truy
cập nghiêm ngặt, kiểm soát danh sách đen và danh sách trắng địa chỉ IP, xác thực và ủy
quyền, chống phát lại, chống tấn công và nhiều quy tắc kiểm tra. Ngoài ra, cổng API triển khai
quản lý hạn ngạch linh hoạt và tinh tế cũng như điều tiết yêu cầu để bảo vệ các dịch vụ phụ trợ
của bạn.

Định tuyến linh hoạt (Flexible routing)
Bạn có thể định cấu hình phần phụ trợ cho API để chuyển tiếp lưu lượng truy cập theo nhiều
chính sách. Điều này tạo điều kiện thuận lợi cho việc khởi chạy và quản lý môi trường tối của
các ứng dụng doanh nghiệp.

SDK đa ngôn ngữ (Multi-lingual SDK)
Cổng API cung cấp cho khách hàng SDK của các ngôn ngữ lập trình khác nhau, chẳng hạn
như Java, Go, Python và C. Vì không cần sửa đổi phần phụ trợ dịch vụ nên một hệ thống có
thể dễ dàng thích ứng với nhiều tình huống dịch vụ.
Các chức năng của Cổng API là gì?

Tổng hợp API và dịch vụ
Cổng API tổng hợp nhiều dịch vụ vi mô, có các yêu cầu dịch vụ khác nhau, trong hệ
thống doanh nghiệp. Vì vậy, có thể nói API Gateway quản lý các API microservice
một cách thống nhất. Để đáp ứng các yêu cầu đối với các dịch vụ, người dùng và xác
thực khác nhau, cổng API có thể tạo điều kiện thuận lợi cho việc tương tác giữa API
và người dùng. Như vậy, các dịch vụ là minh bạch đối với người gọi và ứng dụng
khách cũng như phần phụ trợ được liên kết lỏng lẻo. Ngoài ra, cổng API tổng hợp
các dịch vụ phụ trợ để tiết kiệm lưu lượng, cải thiện hiệu suất và cải thiện trải nghiệm
người dùng.

Lựa chọn tuyến đường
Cổng API gửi yêu cầu từ máy khách đến các dịch vụ phụ trợ tương ứng trước khi đ
óng gói dữ liệu trả về và gửi cho máy khách. Bằng cách này, hai hệ thống có thể
giao tiếp với nhau.

Điều khiển giao thông
Cổng API nhận lưu lượng tương tác của tất cả các vi dịch vụ trong hệ thống. Là trung
gian giữa các ứng dụng và các dịch vụ khác, cổng API xử lý lưu lượng truy cập, phân
phối yêu cầu của người dùng đến các dịch vụ chính xác và quản lý tính khả dụng cũ
ng như độ tin cậy của lưu lượng truy cập. Nó giám sát lưu lượng truy cập từ tất cả
các nguồn và giới hạn số lượng yêu cầu API từ máy khách (hoặc robot độc hại)
trong một khoảng thời gian nhất định để bảo vệ hệ thống khỏi bị tràn ngập bởi các
cuộc tấn công độc hại.

Xác thực truy cập hợp nhất
Quyền xác thực truy cập của các dịch vụ khác nhau được phân tích cú pháp bằng
cổng API. API nhanh chóng xác định xem nhiều người dùng có quyền truy cập các
dịch vụ khác nhau hay không. Bởi vì mỗi máy chủ không còn cần phải thực hiện đ
àm phán gói nên hiệu quả dịch vụ được cải thiện rất nhiều.

Cân bằng tải
Khi lưu lượng truy cập trang web tăng cao, cổng API sẽ theo dõi các yêu cầu được
gửi đến các hệ thống vi dịch vụ khác nhau để cân bằng tải giữa các nút, từ đó cải
thiện hiệu quả và đảm bảo tính khả dụng của ứng dụng.

Quản lý an ninh thống nhất
Cổng API cung cấp lớp bảo mật mới, đồng thời thực hiện xác thực danh tính và xác
thực đầu vào đối với các yêu cầu API để phân biệt quyền truy cập thông thường với
các cuộc tấn công độc hại, đảm bảo an ninh hệ thống. Cổng API cũng cung cấp các
chức năng quản lý API, chẳng hạn như bảo mật, kiểm soát luồng, lọc, lưu vào bộ nhớ
đệm, tính phí và giám sát.
What Is an API Gateway?
An API gateway is an API management and service governance tool that integrates functions
such as configuration release, environment management, access authentication, user
authentication, and access control. You can use the API gateway to host APIs to manage
services in an efficient, secure, and cost-effective manner. As a single point of entry for
requests, the API gateway does not allow clients to send access requests to each
microservice separately. Instead, it allocates requests to corresponding services and collects
results which it then passes to clients.
Contents

Why Do We Need an API Gateway?

What Are the Functions of an API Gateway?
Why Do We Need an API Gateway?
Emergence of API Gateways
With the emergence of microservices, a growing number of enterprises started choosing to
deploy their own systems in the microservice architecture, in which a large monolithic
application is split into multiple microservice systems for independent maintenance and
deployment. This results in a huge number of APIs needing to be managed in the
microservice system. These APIs, which have different service requirements, interconnect
with different microservice systems, making APIs increasingly difficult to manage. It is
against this backdrop that API gateways emerged. Ever since, publishing and managing APIs
through an API gateway has become a growing trend.
As the API gateway functions gradually evolve, API gateways are used in an increasing
number of enterprise-level API management systems.
API gateway architecture
Advantages of an API Gateway

Unified management
An API gateway provides full-lifecycle API management, covering design, development, test,
publish, O&M, release, and removal, to help you quickly build, manage, and deploy APIs at
any scale.

Easy flow control
An API gateway provides the traffic control function. Multiple algorithms can be used to
implement refined traffic control, and you can customize request throttling policies to
ensure the stability and continuity of API services.

Visualized monitoring
An API gateway monitors API call performance metrics, data delay, and errors to identify
potential risks that may affect services.

Multi-layer security protection
An API gateway secures API calling with a series of measures, such as strict access control, IP
address blacklist and whitelist control, authentication and authorization, anti-replay, antiattack, and multiple audit rules. In addition, the API gateway implements flexible and refined
quota management and request throttling to safeguard your backend services.

Flexible routing
You can configure backends for an API to forward traffic according to multiple policies. This
facilitates dark launch and environment management of enterprise applications.

Multi-lingual SDK
An API gateway provides clients with SDKs of different programming languages, such as
Java, Go, Python, and C. Because there is no need to modify the service backends, one
system can easily adapt to multiple service scenarios.
What Are the Functions of an API Gateway?

API and service aggregation
An API gateway aggregates multiple microservices, which have different service
requirements, in an enterprise system. Therefore, it can be said that an API
gateway manages microservice APIs in a unified manner. To meet requirements for
different services, users, and authentications, the API gateway can facilitate the
interaction between APIs and users. As such, services are transparent to callers,
and clients and backends are loosely coupled. In addition, the API gateway
aggregates backend services to save traffic, improve performance, and improve
user experience.

Route selection
An API gateway sends the requests from clients to the corresponding backend
services before packaging the returned data and sending it to clients. In this way,
the two systems can communicate with each other.

Traffic control
An API gateway receives interaction traffic of all microservices in the system. As an
intermediary between applications and other services, the API gateway processes
traffic, distributes user requests to the correct services, and manages traffic
availability and reliability. It monitors traffic from all sources and limits the number
of API requests from clients (or malicious robots) within a specified period of time
to protect the system from being overwhelmed by malicious attacks.

Unified access authentication
The access authentication permissions of different services are parsed by an API
gateway. APIs quickly determine whether multiple users have permissions to
access different services. Because each server no longer needs to carry out packet
negotiation, service efficiency is greatly improved.

Load balancing
When the site traffic surges, an API gateway traces requests sent to different
microservice systems to balance the load between nodes, thereby improving
efficiency and ensuring application availability.

Unified security management
An API gateway provides a new security layer, and also performs identity
authentication and input validation on API requests to distinguish normal access
from malicious attacks, ensuring system security. The API gateway also provides
API management functions, such as security, flow control, filtering, caching,
charging, and monitoring.
Download