Antipadrão: acessar o payload de solicitação/resposta quando o streaming estiver ativado

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

No Edge, o comportamento padrão é que os payloads HTTP de solicitação e resposta sejam armazenados em um buffer na memória antes de serem processados pelas políticas no proxy da API.

Se o streaming estiver ativado, os payloads de solicitação e resposta serão transmitidos sem modificação para o app cliente (para respostas) e o endpoint de destino (para solicitações). O streaming é útil especialmente se um aplicativo aceitar ou retornar payloads grandes ou se houver um aplicativo que retorne dados em partes ao longo do tempo.

Antipadrão

O acesso ao payload de solicitação/resposta com streaming ativado faz com que o Edge retorne ao modo de buffer padrão.

Figura 1: acesso ao payload de solicitação/resposta com streaming ativado

A ilustração acima mostra que estamos tentando extrair variáveis do payload da solicitação e converter o payload da resposta JSON em XML usando a política JSONToXML. Isso desativará o streaming no Edge.

Impacto

  • O streaming será desativado, o que pode aumentar a latência no processamento dos dados.
  • É possível observar um aumento no uso da memória de heap ou erros de OutOfMemory nos processadores de mensagens devido ao uso de buffers na memória, especialmente se houver grandes payloads de solicitação/resposta.

Prática recomendada

  • Não acesse o payload de solicitação/resposta quando o streaming estiver ativado.

Leitura adicional