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

您目前查看的是 ApigeeApigee Hybrid 說明文件。
查看 Apigee Edge 說明文件。

在 Apigee 中,預設行為是將 HTTP 要求和回應酬載儲存在記憶體緩衝區中,然後再由 API Proxy 中的政策處理。

如果啟用串流功能,系統會將要求和回應酬載串流至用戶端應用程式 (適用於回應) 和目標端點 (適用於要求),且不會進行修改。如果應用程式接受或傳回大型酬載,或是應用程式會隨時間以區塊形式傳回資料,串流就特別實用。

反模式

啟用串流後,如果存取要求/回應酬載,Apigee 會返回預設緩衝模式。

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

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

影響

  • 系統會停用串流功能,導致資料處理延遲時間增加
  • 由於使用記憶體內緩衝區,訊息處理器上的堆積記憶體用量或 OutOfMemory 錯誤可能會增加,特別是當我們有大量要求/回應酬載時

最佳做法

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

延伸閱讀