Tạo chuỗi các proxy API với nhau

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

Bạn có thể chỉ định một proxy là điểm cuối mục tiêu của một proxy khác, kết nối hiệu quả hai proxy trong chuỗi proxy. Việc xâu chuỗi các proxy theo cách này có thể giúp bạn tránh được lỗi mạng, và vì vậy, hãy cải thiện hiệu suất tổng thể.

Với chuỗi proxy, bạn chỉ định rằng một proxy là điểm cuối mục tiêu cục bộ của proxy còn lại. Thay vì sử dụng phần tử HTTPTargetConnection để gọi hàm thứ hai proxy, bạn sẽ sử dụng phần tử LocalTargetConnection.

<LocalTargetConnection>
    <APIProxy>myproxy2</APIProxy>
    <ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>

Bạn có thể thấy chuỗi proxy hữu ích khi có một proxy cung cấp một số cấu hình tuỳ chỉnh cấp thấp mà các proxy khác sẽ sử dụng. Ví dụ: proxy cho thấy các thao tác tạo/đọc/cập nhật/xoá bằng kho dữ liệu phụ trợ có thể là proxy mục tiêu cho nhiều proxy khác hiển thị dữ liệu cho ứng dụng.

Video: Xem một video ngắn để tìm hiểu thêm về chuỗi proxy API.

Cách hoạt động của chuỗi proxy

Tạo chuỗi proxy sử dụng kết nối cục bộ để giảm thiểu mức hao tổn mạng khi gọi một proxy từ một thiết bị khác. Kết nối cục bộ này hiệu quả hơn vì bỏ qua các tính năng mạng như làm trình cân bằng tải, bộ định tuyến và trình xử lý tin nhắn.

Phần sau đây minh hoạ sự khác biệt giữa việc kết nối các proxy sử dụng HTTPTargetConnectionLocalTargetConnection (tạo chuỗi proxy):

Bạn kết nối các proxy bằng cách chỉ định một điểm cuối đích cục bộ của proxy còn lại. Bạn có thể tạo kết nối cục bộ giữa các proxy theo hai cách:

  • Bằng cách chỉ định tên của proxy mục tiêu và tên ProxyEndpoint
  • Bằng cách chỉ định đường dẫn tới điểm cuối proxy mục tiêu

Bạn kết nối các proxy mục tiêu trong cấu hình TargetEndpoint bằng cách sử dụng Phần tử LocalTargetConnection, như mô tả dưới đây.

Kết nối proxy theo tên proxy

Bạn có thể chỉ định proxy mục tiêu theo tên. Bạn có thể thấy rằng chế độ này hữu ích nhất khi tạo kết nối ngay từ đầu và cùng nhau phát triển proxy. Nếu không biết tên (hoặc tên có thể thay đổi), hãy cân nhắc kết nối với đường dẫn điểm cuối của proxy mục tiêu như được mô tả bên dưới.

Khi bạn kết nối với proxy mục tiêu theo tên, bạn chỉ định tên và tên của proxy ProxyEndpoint.

Ví dụ sau đây chỉ định một proxy mục tiêu có tên là data-manager, cùng với tên ProxyEndpoint do data-manager hiển thị. Để tham khảo hãy xem tài liệu tham khảo về cấu hình proxy API.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <APIProxy>data-manager</APIProxy>
        <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
</TargetEndpoint>

Kết nối proxy theo đường dẫn

Bạn có thể chỉ định proxy mục tiêu theo đường dẫn điểm cuối của proxy. Bạn có thể muốn thực hiện theo cách này khi bạn không biết tên proxy hoặc khi nào tên có thể thay đổi.

Nếu proxy của bạn chỉ là người sử dụng proxy mục tiêu—chẳng hạn như khi bạn không phát triển cả hai – lộ trình có thể là cách đáng tin cậy nhất để kết nối. Ví dụ: nếu proxy bạn đang kết nối đến được phát triển và duy trì bởi một nhóm khác, bạn có thể muốn kết nối bằng đường dẫn điểm cuối đáng tin cậy.

Ví dụ sau đây chỉ định một proxy mục tiêu tại /v1/streetcarts/foodcarts/data-manager, trong đó máy chủ lưu trữ được giả định là giống với proxy hiện tại. Để biết thông tin tham khảo, hãy xem Tài liệu tham khảo về cấu hình proxy API.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <Path>/v1/streetcarts/foodcarts/data-manager</Path> 
    </LocalTargetConnection>
</TargetEndpoint>

Kết nối proxy với hoạt động quản lý bảng điều khiển

Bạn có thể tạo các kết nối theo chuỗi proxy bằng bảng điều khiển quản lý Edge.

  1. Mở proxy sẽ sử dụng proxy mục tiêu.
  2. Trong Trình điều hướng, hãy nhấp vào dấu cộng bên cạnh Điểm cuối mục tiêu.
  3. Trong hộp thoại New Target Endpoint (Điểm cuối mục tiêu mới), hãy nhập tên của điểm cuối mục tiêu.
  4. Bên dưới hộp Target Endpoint Name (Tên điểm cuối mục tiêu), hãy chọn một trong các lựa chọn sau:
    • Tạo chuỗi proxy để chọn từ danh sách proxy đã có trong tổ chức và môi trường.
      1. Trong trình đơn thả xuống Tên proxy, hãy chọn proxy mục tiêu.
      2. Trong hộp Điểm cuối proxy, hãy nhập đường dẫn điểm cuối proxy mục tiêu mà bạn muốn kết nối.
    • Tạo chuỗi đường dẫn để nhập đường dẫn cơ sở của proxy mục tiêu, chẳng hạn như /mypath/myproxy/myendpoint.
  5. Nhấp vào Thêm.

Proxy theo chuỗi, sản phẩm API và cơ chế bảo mật

Phương pháp tạo chuỗi proxy là phù hợp nhất trong trường hợp cả hai proxy đều nằm trong cùng một sản phẩm API. Theo mặc định, cả hai đều có sẵn cho khách hàng. Apigee hiện không hỗ trợ việc nhóm proxy thứ hai trong một sản phẩm API riêng biệt mà khách hàng không có quyền truy cập vào.

Nếu proxy thứ hai của bạn phải được bảo mật trước các yêu cầu trực tiếp từ máy khách, hãy cân nhắc việc thêm logic vào yêu cầu proxy thứ hai của bạn kiểm tra địa chỉ IP của máy khách. Trong trường hợp cuộc gọi được thực hiện qua tạo chuỗi thì địa chỉ IP sẽ là địa chỉ cục bộ. Mã của bạn có thể xác thực rằng đó là mã cục bộ trước khi cho phép đang xử lý để tiếp tục. Hãy xem Chính sách kiểm soát quyền truy cập để biết để làm việc này.