Ce principe du pilier "Fiabilité" du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à concevoir vos Google Cloud charges de travail afin qu'elles gèrent les défaillances de manière élégante.
Ce principe concerne le domaine d'intérêt Réponse de la fiabilité.
Présentation du principe
La dégradation élégante est une approche de conception dans laquelle un système soumis à une charge élevée continue de fonctionner, mais avec des performances ou une précision potentiellement réduites. La dégradation élégante garantit la disponibilité continue du système et empêche une défaillance complète, même si le travail du système n'est pas optimal. Lorsque la charge revient à un niveau gérable, le système reprend toutes ses fonctionnalités.
Par exemple, en période de forte charge, la recherche Google donne la priorité aux résultats des pages Web mieux classées, ce qui peut entraîner une perte de précision. Lorsque la charge diminue, la recherche Google recalcule les résultats de recherche.
Recommandations
Pour concevoir vos systèmes en vue d'une dégradation élégante, tenez compte des recommandations des sous-sections suivantes.
Mettre en œuvre la limitation
Assurez-vous que vos instances répliquées peuvent gérer indépendamment les surcharges et limiter les requêtes entrantes en cas de trafic élevé. Cette approche vous permet d'éviter les défaillances en cascade causées par les changements de trafic excessif entre les zones.
Utilisez des outils tels qu' Apigee pour contrôler le débit des requêtes API en période de trafic élevé. Vous pouvez configurer des règles de stratégie pour refléter la manière dont vous souhaitez réduire les requêtes.
Abandonner les requêtes en excès de manière anticipée
Configurez vos systèmes pour qu'ils abandonnent les requêtes en excès au niveau de la couche frontend afin de protéger les composants backend. L'abandon de certaines requêtes évite les défaillances globales et permet au système de récupérer plus facilement.Avec cette approche, certains utilisateurs peuvent rencontrer des erreurs. Toutefois, vous pouvez réduire l'impact des pannes, contrairement à une approche telle que la rupture de circuit, où tout le trafic est abandonné en cas de surcharge.
Gérer les erreurs partielles et les nouvelles tentatives
Concevez vos applications pour qu'elles gèrent les erreurs partielles et les nouvelles tentatives de manière transparente. Cette conception permet de s'assurer que le trafic le plus important possible est traité en cas de forte charge.
Tester les scénarios de surcharge
Pour vérifier que les mécanismes de limitation et d'abandon des requêtes fonctionnent efficacement, simulez régulièrement des conditions de surcharge dans votre système. Les tests permettent de s'assurer que votre système est prêt à faire face aux pics de trafic réels.
Surveiller les pics de trafic
Utilisez des outils d'analyse et de surveillance pour prévoir les pics de trafic et y répondre avant qu'ils ne se transforment en surcharges. La détection et la réponse précoces peuvent contribuer à maintenir la disponibilité des services en période de forte demande.