Le scaling traditionnel des files d'attente, basé sur le retard accumulé, présente un défaut majeur : il est réactif. Pendant que le backlog augmente, que le HPA réagit et que les nouveaux pods deviennent opérationnels, les objectifs de niveau de service sont déjà compromis. La solution proposée est un autoscaling prédictif qui anticipe les besoins en ressources. Il utilise la formule Erlang-C, empruntée à la gestion des centres d'appels, pour calculer le nombre de serveurs requis. Ce calcul se base sur l'intensité d'arrivée des messages, la capacité de traitement moyenne d'un worker et un objectif de temps d'attente maximal dans la queue. Le résultat détermine le nombre de répliques nécessaires pour maintenir la probabilité d'attente au-dessus d'un seuil donné en dessous d'une valeur cible. Cette valeur est ensuite communiquée à KEDA via un External Scaler utilisant gRPC. Cette approche permet un scaling proactif, directement lié au respect des SLO, plutôt qu'une réaction tardive à des métriques historiques.
Mise à l'échelle prédictive des files d'attente avec Erlang-C et SLO (KEDA External Scaler)
Points clés
- Utilise la formule Erlang-C pour un calcul prédictif des ressources
- Implémente un autoscaling basé sur les objectifs de niveau de service
- S'intègre avec KEDA via External Scaler et gRPC
- Évite la dégradation des SLO pendant les pics de charge
- S'applique aux systèmes distribués et conteneurisés
Pourquoi c'est important
Cette approche révolutionne la gestion des files d'attente en passant d'un scaling réactif à un scaling prédictif basé sur les objectifs de performance. Elle permet d'anticiper les besoins en ressources et de maintenir les SLO de manière proactive, réduisant considérablement les risques de dégradation du service pendant les pics de charge.
Article original : https://habr.com/ru/companies/otus/articles/950172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=950172
Synthèse éditoriale issue d’une veille et d’outils d’IA. Des erreurs ou approximations peuvent subsister. Référez‑vous à la source originale et à notre disclaimer.