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 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 nào cần áp dụng và điểm cuối mục tiêu nào cần định tuyến đến, cũng như các điều kiện cần được đá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 một API.

Phản mẫu

Một proxy API có thể có một hoặc nhiều điểm cuối proxy. 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 nghiệp vụ 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 duy nhất về mặt khái niệm. Điều này khiến cho các proxy API khó đọc, khó hiểu, gỡ lỗi và duy trì hơn. Điều này đánh bạ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.

Mức độ tác động

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

  • Gây khó khăn cho nhà phát triển trong việc 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. Chúng tôi sẽ không phân tích 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 đang 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 áp dụng các phương pháp hay nhất sau đây:

  1. Triển khai một proxy API với 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 luồng dùng chung để triển khai logic đó trong nhiều proxy API.
  3. Nếu có nhiều API có cùng một đường dẫn cơ sở bắt đầu chung, 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 duy nhất.
  4. Nếu tồn tại một proxy API có nhiều ProxyEndpoints và nếu không có vấn đề nào với proxy này, 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. Đơn giản hơn, dễ dàng duy trì proxy hơn
  2. Những thông tin tố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ì được 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