Diseña para la degradación elegante

Last reviewed 2024-12-30 UTC

Este principio del pilar de confiabilidad del Google Cloud Well-Architected Framework proporciona recomendaciones para ayudarte a diseñar tus Google Cloud cargas de trabajo para que fallen con elegancia.

Este principio es pertinente para el respuesta área de enfoque de la confiabilidad.

Descripción general del principio

La degradación elegante es un enfoque de diseño en el que un sistema que experimenta una carga alta continúa funcionando, posiblemente con un rendimiento o una precisión reducidos. La degradación elegante garantiza la disponibilidad continua del sistema y evita la falla completa, incluso si el trabajo del sistema no es óptimo. Cuando la carga vuelve a un nivel manejable, el sistema reanuda la funcionalidad completa.

Por ejemplo, durante los períodos de carga alta, la Búsqueda de Google prioriza los resultados de las páginas web con una clasificación más alta, lo que podría sacrificar algo de precisión. Cuando disminuye la carga, la Búsqueda de Google vuelve a calcular los resultados de la búsqueda.

Recomendaciones

Para diseñar tus sistemas para la degradación elegante, considera las recomendaciones de las siguientes subsecciones.

Implementa la limitación

Asegúrate de que tus réplicas puedan controlar de forma independiente las sobrecargas y limitar las solicitudes entrantes durante situaciones de tráfico alto. Este enfoque te ayuda a evitar fallas en cascada causadas por cambios en el exceso de tráfico entre zonas.

Usa herramientas como Apigee para controlar la tasa de solicitudes a la API durante los períodos de tráfico alto. Puedes configurar reglas de política para reflejar cómo deseas reducir las solicitudes.

Descarta el exceso de solicitudes con anticipación

Configura tus sistemas para descartar el exceso de solicitudes en la capa de frontend para proteger los componentes de backend. Descartar algunas solicitudes evita las fallas globales y permite que el sistema se recupere con más elegancia.Con este enfoque, algunos usuarios podrían experimentar errores. Sin embargo, puedes minimizar el impacto de las interrupciones, a diferencia de un enfoque como el interruptor de circuito, en el que se descarta todo el tráfico durante una sobrecarga.

Controla los errores parciales y los reintentos

Compila tus aplicaciones para controlar los errores parciales y los reintentos sin problemas. Este diseño ayuda a garantizar que se entregue la mayor cantidad de tráfico posible durante situaciones de carga alta.

Prueba situaciones de sobrecarga

Para validar que los mecanismos de limitación y descarte de solicitudes funcionen de manera eficaz, simula con regularidad las condiciones de sobrecarga en tu sistema. Las pruebas ayudan a garantizar que tu sistema esté preparado para los aumentos repentinos de tráfico en el mundo real.

Supervisa los aumentos repentinos de tráfico

Usa herramientas de supervisión y analíticas para predecir y responder a los aumentos repentinos de tráfico antes de que se conviertan en sobrecargas. La detección y la respuesta tempranas pueden ayudar a mantener la disponibilidad del servicio durante los períodos de alta demanda.