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 cargas de trabajo de Google Cloud manera que fallen correctamente.

Este principio es pertinente para el área de enfoque de respuesta 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 sigue funcionando, posiblemente con un rendimiento o una precisión reducidos. La degradación gradual garantiza la disponibilidad continua del sistema y evita fallas completas, 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 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 la carga disminuye, la Búsqueda de Google vuelve a calcular los resultados de la búsqueda.

Recomendaciones

Para diseñar tus sistemas de modo que se degraden con elegancia, ten en cuenta 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 en momentos de mucho tráfico. Puedes configurar reglas de políticas para reflejar cómo deseas reducir las solicitudes.

Descarta las solicitudes en exceso con anticipación

Configura tus sistemas para descartar las solicitudes excesivas en la capa de frontend y proteger los componentes de backend. Descartar algunas solicitudes evita fallas globales y permite que el sistema se recupere de forma más fluida.Con este enfoque, es posible que algunos usuarios experimenten errores. Sin embargo, puedes minimizar el impacto de las interrupciones, a diferencia de un enfoque como el corte de circuito, en el que se descarta todo el tráfico durante una sobrecarga.

Cómo controlar errores parciales y reintentos

Compila tus aplicaciones para que controlen errores parciales y reintentos sin problemas. Este diseño ayuda a garantizar que se entregue la mayor cantidad de tráfico posible en 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 periódicamente 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 picos de tráfico

Usa herramientas de supervisión y análisis 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.