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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Cấu hình ProxyEndpoint xác định cách ứng dụng khách sử dụng các 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 nào sẽ áp dụng và điểm cuối mục tiêu nào sẽ định tuyến đến, cũng như các điều kiện cần đáp ứng để các chính sách hoặc quy tắc định tuyến này được thực thi.

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 API.

Cấu trúc phản mẫu

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

Mặt khác, khi xác định nhiều ProxyEndpoints trong một proxy API, bạn sẽ kết hợp nhiều API không liên quan vào một cấu phần phần mềm. Đ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 proxy API: giúp nhà phát triển dễ dàng tạo và duy trì API.

Tác động

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

  • Khiến nhà phát triển khó hiểu và duy trì proxy API.
  • Làm rối mã nguồn 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ó bảng chi tiết về các chỉ số theo điểm cuối 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 proxy API.

Phương pháp hay nhất

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

  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ủ mục tiêu và/hoặc yêu cầu cùng một logic trước hoặc sau khi gọi máy chủ mục tiêu, 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 về hậu tố, hãy sử dụng luồng có điều kiện trong một ProxyEndpoint.
  4. Nếu có một proxy API có nhiều ProxyEndpoints và nếu không có vấn đề gì với proxy đó, thì bạn không cần làm gì cả.

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

  1. Các proxy đơn giản và dễ duy trì hơn
  2. Thông tin chi tiết hơn trong Analytics, chẳng hạn như hiệu suất 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ả ProxyEndpoints
  3. Khắc phục sự cố và giải quyết vấn đề nhanh hơn

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