Yêu cầu phát trực tuyến và phản hồi

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

Nội dung bạn sẽ tìm hiểu về chủ đề này

Sau khi đọc chủ đề này, bạn sẽ biết:

  • Yêu cầu và phản hồi truyền trực tuyến trên Apigee Edge là gì
  • Trường hợp sử dụng truyền trực tuyến yêu cầu và phản hồi
  • Cách bật tính năng truyền trực tuyến yêu cầu và phản hồi

Truyền trực tuyến yêu cầu và phản hồi là gì?

Theo mặc định, tính năng truyền trực tuyến HTTP sẽ bị tắt, đồng thời các tải trọng yêu cầu HTTP và phản hồi sẽ được ghi vào một vùng đệm trong bộ nhớ trước khi được quy trình proxy API xử lý. Bạn có thể thay đổi hành vi này bằng cách bật tính năng phát trực tiếp. Khi bật tính năng truyền trực tuyến, tải trọng yêu cầu và phản hồi sẽ được truyền trực tuyến mà không cần sửa đổi ứng dụng khách (đối với phản hồi) và điểm cuối mục tiêu (đối với yêu cầu).

Khi nào tôi nên bật tính năng phát trực tiếp?

Nếu proxy API của bạn xử lý các yêu cầu và/hoặc phản hồi rất lớn (để biết giới hạn kích thước, hãy xem phần Những điều khác tôi cần biết về tính năng phát trực tuyến bên dưới), thì bạn nên bật tính năng truyền trực tuyến.

Những điều khác bạn cần biết về việc phát trực tiếp

Kích thước tải trọng thư được giới hạn ở 10 MB trong Edge Cloud và Private Cloud, ngay cả khi đã bật tính năng phát trực tuyến. Trong các yêu cầu và phản hồi không được truyền trực tuyến, việc vượt quá kích thước đó sẽ dẫn đến lỗi protocol.http.TooBigBody.

Trong Edge dành cho quá trình triển khai Đám mây riêng tư, bạn có thể sửa đổi giới hạn kích thước của yêu cầu/phản hồi không phát trực tuyến. Hãy nhớ kiểm thử trước khi triển khai thay đổi cho phiên bản chính thức.

  • Đối với các bản phát hành Edge dành cho đám mây riêng tư trước phiên bản 4.16.01:

    Trên tất cả các Trình xử lý tin nhắn, hãy chỉnh sửa tệp http.properties để tăng giới hạn trong tham số HTTPResponse.body.buffer.limit rồi khởi động lại Bộ xử lý tin nhắn.
  • Đối với Edge for Private Cloud bản phát hành 4.16.01 trở lên:
    1. Chỉnh sửa tệp /<inst_root>/apigee/customer/application/message-processor.properties. Hãy tạo tệp nếu chưa có.

    2. Đặt thuộc tính conf_http_HTTPResponse.body.buffer.limit trong message-processor.properties. Ví dụ:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Khởi động lại Bộ xử lý thư:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor khởi động lại

    4. Lặp lại cho tất cả các Bộ xử lý thư.

Cách bật tính năng truyền trực tuyến yêu cầu và phản hồi

Để bật tính năng truyền trực tuyến yêu cầu, bạn cần thêm thuộc tính request.streaming.enabled vào các định nghĩa ProxyEndpoint và TargetEndpoint trong gói proxy rồi đặt thuộc tính này thành true. Tương tự, hãy đặt thuộc tính response.streaming.enabled để bật tính năng truyền trực tuyến phản hồi.

Bạn có thể tìm thấy các tệp cấu hình này trong giao diện người dùng quản lý trong khung hiển thị Phát triển cho proxy của mình. Nếu bạn đang phát triển cục bộ, thì các tệp định nghĩa này sẽ nằm trong apiproxy/proxiesapiproxy/targets.

Mẫu này cho biết cách bật cả luồng yêu cầu và truyền phát phản hồi trong định nghĩa TargetEndpoint.

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <Properties>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
      <Property name="supports.http10">true</Property>
      <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
      <Property name="retain.queryparams">apikey</Property>
    </Properties>
  </HTTPTargetConnection>
</TargetEndpoint>

Ví dụ này cho thấy cách bật tính năng phản hồi và yêu cầu truyền trực tuyến trong định nghĩa ProxyEndpoint:

<ProxyEndpoint name="default">
  <HTTPProxyConnection>
    <BasePath>/v1/weather</BasePath>
    <Properties>
      <Property name="allow.http10">true</Property>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
    </Properties>
  </HTTPProxyConnection>
</ProxyEndpoint>

Để biết thêm thông tin về cách định cấu hình định nghĩa điểm cuối, hãy xem Tài liệu tham khảo về thuộc tính thiết bị đầu cuối.

Mã mẫu có liên quan

Các mẫu proxy API trên GitHub rất dễ tải xuống và sử dụng. Hãy xem phần Sử dụng proxy API mẫu để biết thông tin về cách tải xuống và sử dụng mẫu.

Các proxy mẫu có tính năng truyền trực tuyến bao gồm:

  • truyền trực tuyến – Minh hoạ proxy API được định cấu hình để truyền trực tuyến HTTP.
  • Chú thích ở cạnh: Trình tạo URL đã ký – Minh hoạ phương pháp hay nhất trong việc tạo một URL đã ký để truy cập vào các tệp lớn thay vì cố gắng truyền trực tuyến những tệp đó trong yêu cầu/phản hồi.