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

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

No Edge, o comportamento padrão é que os payloads de solicitação e resposta HTTP 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 aceita ou retorna payloads grandes ou se há um aplicativo que retorna dados em partes ao longo do tempo.

Antipadrão

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

Figura 1: acesso ao payload de solicitação/resposta com o 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 de 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