Diseña para la degradación elegante

Last reviewed 2024-12-30 UTC

Este principio del pilar de confiabilidad del framework de arquitectura proporciona recomendaciones para ayudarte a diseñar tus cargas de trabajo Google Cloud de modo que fallen de forma elegante.Google Cloud

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

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 elegante garantiza la disponibilidad continua del sistema y evita fallas completas, incluso si el funcionamiento 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 mejor clasificación, lo que podría sacrificar cierta 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 para una degradación elegante, ten en cuenta las recomendaciones de las siguientes sub secciones.

Implementa la limitación

Asegúrate de que tus réplicas puedan controlar las sobrecargas de forma independiente y limitar las solicitudes entrantes durante situaciones de mucho tráfico. Este enfoque te ayuda a evitar fallas en cascada que se producen 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 mayor tráfico. Puedes configurar las reglas de políticas para reflejar cómo deseas reducir la escala de las solicitudes.

Cómo descartar solicitudes en exceso con anticipación

Configura tus sistemas para que descarten las solicitudes excedentes en la capa de frontend y protejan los componentes del backend. Si descartas algunas solicitudes, se evitan fallas globales y se 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, en contraste con un enfoque como la disyunción, en la que se descarta todo el tráfico durante una sobrecarga.

Cómo controlar errores parciales y reintentos

Compila tus aplicaciones para controlar errores parciales y reintentos sin problemas. Este diseño ayuda a garantizar que se entregue la mayor cantidad posible de tráfico 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 frecuencia las condiciones de sobrecarga en tu sistema. Las pruebas ayudan a garantizar que tu sistema esté preparado para los aumentos repentinos de tráfico reales.

Supervisa los picos de tráfico

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