Antipadrão: permitir um back-end lento

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

Os sistemas de back-end executam os serviços que os Proxies da API acessam. Em outras palavras, eles são o motivo fundamental para a existência de APIs e da camada proxy de gerenciamento API.

Qualquer solicitação de API encaminhada pela plataforma Edge atravessa um caminho típico antes de chegar ao back-end:

  • A solicitação é proveniente de um cliente que pode ser algo entre um navegador e um app.
  • A solicitação é recebida pelo gateway do Edge.
  • Ela é processada no gateway. Como parte desse processamento, a solicitação passa para diversos componentes distribuídos.
  • Em seguida, o gateway encaminha a solicitação ao back-end que responde a ela.
  • Em seguida, a resposta do back-end transfere o caminho inverso exato por meio do gateway do Edge de volta ao cliente.

Na verdade, o desempenho das solicitações de API encaminhadas pelo Edge depende do Edge e dos sistemas de back-end. Neste antipadrão, vamos nos concentrar no impacto nas solicitações da API devido ao mau desempenho dos sistemas de back-end.

Antipadrões

Vamos analisar o caso de um back-end problemático. Estas são as possibilidades:

  • Back-end de tamanho inadequado
  • Back-end lento
  • Back-end de tamanho inadequado

    O desafio de expor os serviços nesses sistemas de back-end por meio de APIs é que eles podem ser acessados por um grande número de usuários finais. Do ponto de vista do negócio, isso é um desafio pretendido, mas algo que precisa ser tratado.

    Muitas vezes, os sistemas de back-end não estão preparados para essa demanda extra nos serviços deles e estão consequentemente abaixo do tamanho ou não estão ajustados para uma resposta eficiente.

    O problema com um back-end de tamanho inadequado é que, se houver um pico nas solicitações de API, ele estressará recursos como CPU, carga e memória nos sistemas de back-end. Isso causaria falhas nas solicitações da API.

    Back-end lento

    O problema com um back-end ajustado incorretamente é que seria muito lento responder a quaisquer solicitações recebidas, levando a maiores latências, tempos limite prematuros e experiência do cliente comprometida.

    A plataforma Edge oferece algumas opções ajustáveis para contornar e gerenciar o back-end lento. Mas essas opções têm limitações.

    Impacto

    • No caso de um back-end de tamanho inadequado, o aumento no tráfego pode levar a solicitações com falha.
    • No caso de um back-end lento, a latência das solicitações aumentará.

    Prática recomendada

    • Use o armazenamento em cache para armazenar as respostas para melhorar os tempos de resposta da API e reduzir a carga no servidor de back-end.
    • Resolva o problema subjacente nos servidores de back-end lentos.

    Leitura adicional