Comment nous avons boosté les ... Note

Comment nous avons boosté les statuts GitLab CI avec WebSockets

GitLab a réduit de manière significative les appels d'API pour les mises à jour de l'état des tâches CI de 92,56 %, passant de 45 millions à 3,4 millions par jour. Auparavant, le composant d'en-tête de tâche utilisait l'interrogation, effectuant une requête réseau toutes les 30 secondes, quels que soient les changements de données. Cela entraînait des retards pour les utilisateurs et une surcharge de la base de données. L'équipe est passée aux abonnements GraphQL via WebSockets, une approche basée sur les événements. Ce changement permet des mises à jour instantanées lorsque l'état des tâches change, éliminant ainsi le trafic réseau inutile. Le nombre d'appels réseau toutes les 15 minutes est passé de 547 145 à 39 670. Les utilisateurs bénéficient désormais d'une visibilité de l'état en temps réel. Cette optimisation n'a pas entraîné d'augmentation de l'utilisation du processeur ou des taux d'opération. GitLab prévoit de remplacer tous les mécanismes d'interrogation par des abonnements GraphQL dans l'ensemble du produit. L'objectif est de fournir un retour d'information instantané tout au long du flux de travail CI/CD.