反模式:在啟用串流時存取要求/回應酬載

您正在查看 ApigeeApigee Hybrid 說明文件。
查看 Apigee Edge 說明文件。

在 Apigee 中,HTTP 要求和回應酬載會先儲存在記憶體中繼接器中,再由 API Proxy 中的政策處理,這是預設行為。

如果啟用串流功能,則系統會串流要求和回應酬載,而無須修改用戶端應用程式 (針對回應) 和目標端點 (針對要求)。如果應用程式會接受或傳回大量酬載,或是應用程式會在一段時間內以區塊傳回資料,串流功能就特別實用。

反模式

啟用串流功能後,存取要求/回應酬載會導致 Apigee 返回預設的緩衝模式。

要求訊息處理器配額政策,將訊息處理器擷取變數傳送至目標。將目標設為訊息處理工具,並將 JSONToXML 設為回應。
圖 1:啟用串流功能後,存取要求/回應酬載

上圖顯示,我們嘗試從要求酬載中擷取變數,並使用 JSONToXML 政策將 JSON 回應酬載轉換為 XML。這麼做會停用 Apigee 中的串流功能。

影響

  • 串流功能會停用,可能會導致處理資料的延遲時間增加
  • 訊息處理器可能會因使用記憶體內緩衝區而導致堆積記憶體用量增加或 OutOfMemory 錯誤,尤其是在有大量要求/回應酬載時

最佳做法

  • 啟用串流時,請勿存取要求/回應酬載。

延伸閱讀