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 rằng một proxy là điểm cuối mục tiêu của một proxy khác, giúp kết nối hiệu quả 2 proxy trong một chuỗi proxy. Việc tạo chuỗi proxy theo cách này có thể giúp bạn tránh tình trạng gián đoạn mạng, từ đó cải thiện hiệu suất tổng thể.

Khi tạo chuỗi proxy, bạn chỉ định rằng một proxy là điểm cuối nhắm 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 đến proxy thứ hai, 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ố chức năng cấp thấp riêng biệt mà các proxy khác sẽ sử dụng. Ví dụ: một proxy hiển thị các thao tác tạo/đọc/cập nhật/xoá bằng một kho lưu trữ 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 video ngắn để tìm hiểu thêm về chuỗi proxy API.

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

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 proxy khác. Kết nối cục bộ này hiệu quả hơn vì nó bỏ qua các tính năng mạng như trình cân bằng tải, bộ định tuyến và trình xử lý thông báo.

Nội dung sau đây minh hoạ sự khác biệt giữa việc kết nối proxy bằng cách sử dụng HTTPTargetConnectionLocalTargetConnection (chuỗi proxy):

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

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

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 thông tin, vui lòng 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 bằng đường dẫn điểm cuối. Bạn nên thực hiện theo cách này khi bạn không biết tên proxy hoặc khi 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 proxy), đường dẫn có thể là cách kết nối đáng tin cậy nhất. Ví dụ: nếu proxy mà bạn đang kết nối do một nhóm khác phát triển và duy trì, thì bạn nên kết nối bằng một đườ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ủ được giả định là giống với proxy hiện tại. Để tham khảo thông tin, 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 bảng điều khiển quản lý

Bạn có thể tạo kết nối 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, 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 đích.
  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:
    • Proxy Chuỗi để chọn từ danh sách các 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 Proxy Điểm cuối, 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à bảo mật

Chuỗi proxy phù hợp nhất với 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 cung cấp cho khách hàng. Apigee hiện không hỗ trợ gói proxy thứ hai trong một sản phẩm API riêng biệt mà khách hàng không được có quyền truy cập.

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 của ứng dụng, hãy cân nhắc việc thêm logic để proxy thứ hai kiểm tra địa chỉ IP của ứng dụng. Trong trường hợp cuộc gọi được thực hiện thông qua chuỗi, đị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 tiếp tục xử lý. Vui lòng xem Chính sách kiểm soát quyền truy cập để biết một cách thực hiện việc này.