Antipattern: Xác định nhiều ProxyEndpoints trong proxy API

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Cấu hình ProxyEndpoint xác định cách các ứng dụng khách sử dụng API thông qua Apigee Edge. ProxyEndpoint xác định URL của proxy API và cách hoạt động của proxy: chính sách cần áp dụng và điểm cuối đích cần định tuyến đến, cũng như các điều kiện cần đáp ứng để thực thi các chính sách hoặc quy tắc định tuyến này.

Nói tóm lại, cấu hình ProxyEndpoint xác định tất cả những việc cần làm để triển khai một API.

Antipattern

Một API proxy có thể có một hoặc nhiều điểm cuối proxy. Xác định nhiều ProxyEndpoint là một cơ chế dễ dàng và đơn giản để triển khai nhiều API trong một proxy duy nhất. Điều này cho phép bạn sử dụng lại các chính sách và/hoặc logic nghiệp vụ trước và sau khi gọi TargetEndpoint.

Mặt khác, khi xác định nhiều ProxyEndpoint trong một API proxy duy nhất, bạn sẽ kết hợp nhiều API không liên quan về mặt khái niệm thành một cấu phần phần mềm duy nhất. Điều này khiến các proxy API khó đọc, hiểu, gỡ lỗi và duy trì hơn. Điều này đi ngược lại triết lý chính của các proxy API: giúp nhà phát triển dễ dàng tạo và duy trì API.

Tác động

Nhiều ProxyEndpoint trong một API proxy có thể:

  • Khiến nhà phát triển khó hiểu và duy trì proxy API.
  • Làm rối số liệu phân tích. Theo mặc định, dữ liệu phân tích được tổng hợp ở cấp proxy. Không có thông tin chi tiết về chỉ số theo điểm cuối của proxy, trừ phi bạn tạo báo cáo tuỳ chỉnh.
  • Gây khó khăn cho việc khắc phục sự cố với các proxy API.

Phương pháp hay nhất

Khi triển khai một API proxy mới hoặc thiết kế lại một API proxy hiện có, hãy sử dụng các phương pháp hay nhất sau đây:

  1. Triển khai một proxy API bằng một ProxyEndpoint duy nhất.
  2. Nếu có nhiều API dùng chung máy chủ đích và/hoặc yêu cầu cùng một logic trước hoặc sau khi gọi máy chủ đích, hãy cân nhắc sử dụng các luồng dùng chung để triển khai logic đó trong các proxy API khác nhau.
  3. Nếu có nhiều API dùng chung một đường dẫn cơ sở bắt đầu, nhưng khác nhau ở hậu tố, hãy sử dụng các luồng có điều kiện trong một ProxyEndpoint duy nhất.
  4. Nếu có một API proxy có nhiều ProxyEndpoint và không có vấn đề gì với API proxy đó, thì bạn không cần làm gì cả.

Việc sử dụng một ProxyEndpoint cho mỗi API proxy sẽ dẫn đến:

  1. Đơn giản hơn, dễ duy trì các proxy
  2. Thông tin chi tiết hơn trong Analytics, chẳng hạn như hiệu suất của proxy và thời gian phản hồi mục tiêu, sẽ được báo cáo riêng thay vì tổng hợp cho tất cả ProxyEndpoint
  3. Khắc phục sự cố và giải quyết vấn đề nhanh hơn

Tài liệu đọc thêm