反模式:在启用流式传输时访问请求/响应载荷
您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
在 Edge 中,默认行为是将 HTTP 请求和响应载荷存储在内存中缓冲区中,然后由 API 代理中的政策处理。
如果启用流式传输,则系统将对请求和响应载荷进行流式传输,而无需修改客户端应用(响应)和目标端点(请求)。如果应用接受或返回大型载荷,或者有个应用会在一段时间内返回区块数据,流式传输尤为有用。
反模式
在启用流式传输的情况下访问请求/响应载荷会导致 Edge 返回默认缓冲模式。
上图显示,我们正在尝试从请求载荷中提取变量,并使用 JSONToXML 政策将 JSON 响应载荷转换为 XML。这将在 Edge 中停用流式传输。
影响
- 系统将停用流式插入,这可能会导致数据处理的延迟时间增加
- 由于使用内存中缓冲区,特别是当我们有大型请求/响应载荷时,可以在消息处理器上观察到堆内存用量增加或 OutOfMemory 错误
最佳做法
更多详情
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-21。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-12-21。"],[],[]]