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

本頁內容適用於 Apigee 和 Apigee Hybrid。

查看 Apigee Edge 說明文件。

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

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

反模式

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

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

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

影響

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

最佳做法

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

延伸閱讀