Antipatrón: Permite un backend lento

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Los sistemas de backend ejecutan los servicios a los que acceden los proxies de API. En otras palabras, son el motivo fundamental de la existencia de las API y la capa del proxy de administración de las API.

Cualquier solicitud a la API que se enruta a través de la plataforma Edge desvía una ruta de acceso típica antes de llegar al backend:

  • La solicitud se origina en un cliente que puede ser desde un navegador hasta una app.
  • Luego, la puerta de enlace perimetral recibe la solicitud.
  • Se procesa en la puerta de enlace. Como parte de este procesamiento, la solicitud pasa a varios componentes distribuidos.
  • A continuación, la puerta de enlace enruta la solicitud al backend que responde a la solicitud.
  • Luego, la respuesta del backend desvía la ruta de acceso inversa exacta a través de la puerta de enlace perimetral de vuelta al cliente.

En efecto, el rendimiento de las solicitudes a la API enrutadas a través de Edge depende tanto de Edge como de los sistemas de backend. En este antipatrón, nos enfocaremos en el impacto que tienen las solicitudes a la API debido a los sistemas de backend que tienen un rendimiento deficiente.

Antipatrón

Consideremos el caso de un backend problemático. Estas son las posibilidades:

  • Un backend con un tamaño inadecuado
  • Un backend lento
  • Un backend con un tamaño inadecuado

    El desafío de exponer los servicios en estos sistemas de backend a través de las API consiste en que una gran cantidad de usuarios finales puede acceder a estos. Desde la perspectiva comercial, este es un desafío deseable, pero es un asunto con el que se debe lidiar.

    Muchas veces, los sistemas de backend no están preparados para esta demanda adicional en sus servicios y, por lo tanto, tienen un tamaño insuficiente o no están ajustados para obtener una respuesta eficiente.

    El problema con un backend de que tiene “un tamaño incorrecto” es que, si hay un aumento en las solicitudes a la API, someterá los recursos como la CPU, la carga y la memoria en los sistemas de backend. Esto, a la larga, ocasionaría que las solicitudes a la API fallen.

    Un backend lento

    El problema con un backend configurado de forma incorrecta es que el proceso de responder a cualquier solicitud que reciba sería muy lento, lo que provocaría un aumento de las latencias y los tiempos de espera anticipados y se comprometería la experiencia del cliente.

    La plataforma Edge ofrece algunas opciones ajustables para eludir y administrar el backend lento. Pero estas opciones tienen limitaciones.

    Impacto

    • En el caso de un backend de tamaño incorrecto, un aumento del tráfico podría dar ocasionar solicitudes fallidas.
    • En el caso de un backend lento, aumentará la latencia de las solicitudes.

    Práctica recomendada

    • Usa el almacenamiento en caché para almacenar las respuestas con el fin de mejorar los tiempos de respuesta de la API y reducir la carga en el servidor de backend.
    • Resuelve el problema subyacente en los servidores de backend lentos.

    Lecturas adicionales