De la limitation de débit stat... Note

De la limitation de débit statique à la gestion adaptative du trafic dans le magasin clé-valeur d'Airbnb

Le magasin clé-valeur d'Airbnb, Mussel, utilisait à l'origine une simple limitation de débit QPS pour empêcher les clients individuels de submerger le système. Avec la croissance et la complexité du trafic, cette approche s'est avérée insuffisante en raison de la variance des coûts et de la distorsion du trafic. Pour y remédier, Mussel a évolué pour mettre en œuvre un système de qualité de service (QoS) à plusieurs niveaux. La première couche, le contrôle de débit conscient des ressources (RARC), facture les requêtes en unités de requête (RU) qui tiennent compte des lignes, des octets et de la latence, reflétant le coût réel du backend. Ce système utilise des token buckets avec des quotas RU statiques pour chaque appelant.La deuxième couche, la délestage de charge, assure une protection en temps réel lorsque la capacité est sollicitée ou que des points chauds se développent. Elle combine la criticité du trafic, un ratio de latence indiquant le stress du système et une politique de mise en file d'attente inspirée de CoDel. Cela permet au trafic à haute priorité de rester réactif et de réduire gracieusement le trafic moins prioritaire lorsque la latence augmente. La troisième couche, la détection des clés chaudes et la défense contre les attaques DDoS, identifie et atténue les pics de requêtes identiques ciblant des données spécifiques. Elle utilise un compteur top-k en mémoire pour la détection en temps réel, la mise en cache locale sur les pods de répartition et la coalescence des requêtes pour n'envoyer qu'une seule requête à la couche de stockage pour les recherches de clés chaudes en double.Ces contrôles en couches ont considérablement amélioré la capacité de Mussel à gérer les pics de trafic et à maintenir la fiabilité. Les principaux points à retenir sont la valeur de l'impact précoce pour la validation des concepts, la préférence pour les boucles de contrôle locales pour l'évolutivité et l'utilisation de mécanismes fonctionnant sur différentes échelles de temps. Cette pile QoS sophistiquée garantit que Mussel reste rapide et fiable, même dans des conditions de trafic extrêmes et volatiles.
CdXz5zHNQW_D4i1N1yN56.jpeg