Diseñar para una degradación gradual

Last reviewed 2024-12-30 UTC

Este principio del pilar de fiabilidad del Google Cloud framework Well-Architected proporciona recomendaciones para ayudarte a diseñar tus Google Cloud cargas de trabajo de forma que fallen correctamente.

Este principio se aplica al ámbito de la respuesta de la fiabilidad.

Descripción general de los principios

La degradación gradual es un enfoque de diseño en el que un sistema que experimenta una carga elevada sigue funcionando, aunque posiblemente con un rendimiento o una precisión reducidos. La degradación gradual asegura la disponibilidad continua del sistema y evita que falle por completo, aunque el sistema no funcione de forma óptima. Cuando la carga vuelve a un nivel gestionable, el sistema recupera todas sus funciones.

Por ejemplo, durante los periodos de carga elevada, la Búsqueda de Google da prioridad a los resultados de las páginas web con un ranking más alto, lo que puede suponer una pérdida de precisión. Cuando la carga disminuye, la Búsqueda de Google vuelve a calcular los resultados de búsqueda.

Recomendaciones

Para diseñar tus sistemas de forma que se degraden sin problemas, ten en cuenta las recomendaciones de las siguientes subsecciones.

Implementar la limitación

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

Usa herramientas como Apigee para controlar la frecuencia de las solicitudes a la API en momentos de mucho tráfico. Puede configurar reglas de política para reflejar cómo quiere reducir las solicitudes.

Rechazar solicitudes excesivas pronto

Configura tus sistemas para que rechacen las solicitudes excesivas en la capa de frontend y así proteger los componentes del backend. Si se rechazan algunas solicitudes, se evitan los fallos globales y el sistema puede recuperarse de forma más fluida.Con esta estrategia, es posible que algunos usuarios experimenten errores. Sin embargo, puedes minimizar el impacto de las interrupciones, a diferencia de un enfoque como el de interrupción de circuitos, donde todo el tráfico se descarta durante una sobrecarga.

Gestionar errores parciales y reintentos

Crea tus aplicaciones para que gestionen los errores parciales y los reintentos sin problemas. Este diseño ayuda a garantizar que se sirva la mayor cantidad de tráfico posible en situaciones de carga elevada.

Probar situaciones de sobrecarga

Para validar que los mecanismos de limitación y de rechazo de solicitudes funcionan correctamente, simula periódicamente condiciones de sobrecarga en tu sistema. Las pruebas ayudan a asegurar que tu sistema esté preparado para los picos de tráfico reales.

Monitorizar picos de tráfico

Usa herramientas de analíticas y monitorización para predecir y responder a los picos 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 periodos de gran demanda.