APISIX là một API Gateway mã nguồn mở. Nó nó vai trò kiểm soát các truy cập từ bên ngoài vào dịch vụ nội bộ. Chúng ta sẽ xem xét điều gì khiến nó nổi bật so với các dịch vụ cổng khác. Chúng ta cũng sẽ thảo luận về lời giải thích chi tiết về cách bắt đầu với cổng Apache APISIX.
Trước khi đi sâu vào chủ đề này, hãy nói về cổng API.
API gateway là gì?
API gateway là điểm truy cập duy nhất cho tất cả khách hàng. Nó ngồi giữa khách hàng và các dịch vụ nội bộ. Yêu cầu API từ khách hàng được ủy quyền/định tuyến đến dịch vụ thích hợp, bằng cách gọi ra nhiều dịch vụ phụ trợ. Kết quả sau đó được tổng hợp và trả lại cho khách hàng.
Những khó khăn khi triển khai gateway
- Hầu hết các Cổng API đều phù hợp để xử lý lưu lượng mạng nội bộ của doanh nghiệp và không thể chịu được hàng chục nghìn yêu cầu của khách hàng.
- Một số cổng phụ thuộc vào cơ sở dữ liệu quan hệ, đây là thách thức để mở rộng quy mô một cách linh hoạt. Hầu hết các hệ thống này đều cũ và được phát triển trước khi xuất hiện microservice.
Apache APISIX là gì?
Apache APISIX là Dự án cấp cao nhất trên nền tảng Apache. Đây là cổng API gốc đám mây xử lý lưu lượng giao diện trên nhiều nền tảng cho Điện toán đám mây, FinTech, Bảo hiểm, Thị trường, Bất động sản, Bảo mật, Nhận dạng giọng nói và Du lịch, cùng các ngành khác.
Apache APISIX đơn giản là một gateway API năng động, thời gian thực, hiệu suất cao . So với các cổng API truyền thống, APISIX cung cấp các chức năng phù hợp để quản lý API trong hệ thống microservice. Điều này có thể thực hiện được bằng cách sử dụng định tuyến động, xác thực, khả năng quan sát, hot-reloading plugin, chuyển mã giao thức gRPC, v.v.
Các doanh nghiệp có thể nhanh chóng quản lý lưu lượng API và microservice bằng Apache APISIX, sử dụng các tính năng như xác thực giới hạn luồng, bảo mật ghi nhật ký và hỗ trợ các plugin tùy chỉnh phức tạp.
APISIX có bảng điều khiển quản trị nơi người dùng có thể dễ dàng quản lý và định cấu hình plugin, định tuyến và các thành phần khác. Nó có thể được tích hợp với nhiều thành phần giám sát và thống kê nguồn mở như Prometheus , Apache Skywalk và Zipkin để cải thiện hiệu suất.
Kiến trúc APISIX của Apache
Tiếp theo, ta sẽ tìm hiểu về các thành phần của ApiSIX.
Apache APISIX bao gồm ba phần:
- Data Plane : để kiểm soát động lưu lượng yêu cầu và thực hiện xử lý và phân phối lưu lượng;
- Control Plane: để lưu trữ và đồng bộ hóa cấu hình dữ liệu cổng;
- AI Plane(TODO): để sắp xếp các plugin cũng như phân tích và xử lý lưu lượng yêu cầu theo thời gian thực.
Các thành phần của Apache APISIX
Plugin: APISIX có hơn 70 plugin tích hợp được phát triển bằng Lua , bao gồm xác thực danh tính, tỷ lệ giới hạn, yêu cầu giới hạn, bảo mật, nhật ký, khả năng quan sát, v.v. Các plugin này bao gồm tất cả các tính năng mà người dùng có thể gặp trong doanh nghiệp. Thông qua các plugin này, người dùng có thể biến APISIX thành nhiều gateway khác nhau theo yêu cầu của doanh nghiệp họ. Mặc dù lấy cảm hứng từ Kong, kiến trúc và thiết kế của các plugin Apache APISIX hoàn toàn khác biệt. Nó hỗ trợ hot-reloading, do đó bạn không phải khởi động lại dịch vụ; nó cũng giúp giảm bớt sự khó khăn khi viết mã.
Route: APISIX sử dụng Lua-resty-radixtree thích ứng để tập hợp tất cả các đặc điểm tốt của tuyến đường. Lõi đơn Lua-resty-radixtree có thể đạt tới hàng triệu trận đấu mỗi giây. Nó hỗ trợ tất cả các biến tích hợp của Nginx và các hàm tùy chỉnh.
Schema: Apache APISIX sử dụng jsonschema , cung cấp bản nháp lược đồ JSON 4, bản nháp 6, bản nháp bảy trình xác thực cho Lua/LuaJIT. JsonSchema này đảm nhiệm việc mô tả API và tạo điều kiện cho sự hợp tác giữa các cá nhân và giao diện người dùng. Tiêu chuẩn xác minh này hầu như bao gồm các ngôn ngữ chính thống như C, Java, JS, v.v. Mặc dù APISIX sử dụng ngữ nghĩa Lược đồ JSON nhưng nó không bị ràng buộc cũng như không giới hạn đối với JSON.
Storage: APISIX chỉ dựa vào etcd; do đó, APISIX được thiết kế để có tính sẵn sàng cao. Nó sử dụng Lua-resty-etcd để lấy cấu hình từ, etcd.
APISIX khác với các dịch vụ Gateway khác như thế nào?
- Nó bao gồm tất cả các tính năng của Nginx.
- Hiệu suất siêu cao: Hiệu suất cao là ưu điểm chính của Apache APISIX.
- Tính năng quan trọng nhất của Apache APISIX là nó hoàn toàn động, bao gồm định tuyến, chứng chỉ SSL, plugin, v.v.
- Các plugin được cập nhật nóng. Bên trong Apache APISIX, các plugin được xây dựng tương tự như những viên gạch Lego. Bạn có thể dễ dàng sửa đổi, xóa hoặc thêm plugin mà không cần khởi động lại dịch vụ. Điều này giúp việc kiểm soát khối lượng công việc bên ngoài trong APISIX trở nên dễ dàng và linh hoạt hơn rất nhiều. Apache APISIX cũng cung cấp các plugin tùy chỉnh để xử lý việc xử lý tùy chỉnh ở lớp biên của doanh nghiệp.
- APISIX được hỗ trợ bởi hai kiến trúc quan trọng là X86 và ARM64. Nó cũng hỗ trợ các môi trường chạy OpenResty và Tengine & chạy trên kim loại trần đến nhiều máy chủ khác nhau trên các đám mây công cộng.
- APISIX cung cấp hỗ trợ đa giao thức và đa nền tảng như chuyển mã HTTP(s), TCP, UDP, HTTP sang gRPC, Websocket, gRPC, Apache Dubbo và proxy MQTT
- Hỗ trợ kiểm soát phiên bản. Trong khi sử dụng APISIX, nếu phiên bản mới phát hành gặp sự cố, bạn có thể dễ dàng sao lưu phiên bản cũ mà không gặp phải bất kỳ hạn chế nào trong quá trình này.
- Không tin cậy dựa trên danh tính. Có thể xác thực danh tính bên ngoài với Tương lai mới được tích hợp. Tại thời điểm này, việc đạt được mức độ tin cậy bằng 0 và sử dụng các nhà cung cấp xác thực danh tính bên ngoài để truy cập tất cả các dịch vụ là điều đơn giản. Sau khi triển khai một vài tham số, chúng ta có thể thêm chức năng xác thực danh tính vào API.
- Nguồn mở: Apache APISIX có nguồn mở vào ngày 6 tháng 6 năm 2019. Kể từ đó đã đạt được hơn 8700 sao và khoảng 287 người đóng góp trên GitHub. Đây là cộng đồng các nhà phát triển với hơn 2000 thành viên. Bạn có thể tham gia cộng đồng thông qua Slack hoặc danh sách gửi thư .
Bắt đầu thế nào với Apisix
Apache APISIX có một bảng điều khiển giúp quản trị viên dễ dàng xác định các tuyến đường, dịch vụ ngược dòng và phụ trợ. Để bắt đầu với Apache APISIX, đây là video hướng dẫn Bắt đầu nhanh bao gồm:
- Cách cài đặt Apache APISIX qua Docker.
- Tạo Route, Upstream cho Cổng API của bạn với sự trợ giúp của API quản trị .
- Liên kết tuyến đường với Upstream.
- Xác minh kết quả thông qua API quản trị của Apache APISIX.
Kết bài:
APISIX không chỉ là một giải pháp API Gateway mạnh mẽ, mà còn là một hệ sinh thái linh hoạt với khả năng mở rộng cao. Từ việc quản lý lưu lượng truy cập, bảo mật đến tối ưu hóa hiệu suất, APISIX mang đến cho các doanh nghiệp công cụ cần thiết để xây dựng và quản lý các dịch vụ API một cách hiệu quả. Với sự hỗ trợ của cộng đồng mã nguồn mở và khả năng tùy biến đa dạng, APISIX đang dần trở thành sự lựa chọn ưu tiên cho những ai đang tìm kiếm một giải pháp API Gateway hiện đại và toàn diện. Nếu bạn đang muốn cải thiện hạ tầng API của mình, APISIX chắc chắn là một giải pháp đáng để bạn cân nhắc.
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment