Introduction
La recherche est un élément essentiel de la plateforme GitHub, utilisée pour diverses fonctionnalités telles que les barres de recherche, les pages de problèmes et les comptes de problèmes et de demandes de tirage. Pour améliorer la durabilité de la recherche, GitHub a travaillé à reconstruire l'architecture de recherche pour une haute disponibilité dans GitHub Enterprise Server.
Contexte Technique
Les administrateurs de GitHub Enterprise Server devaient être prudents avec les index de recherche, car tout dysfonctionnement pouvait entraîner des problèmes de recherche. Les versions précédentes d'Elasticsearch, la base de données de recherche utilisée par GitHub, présentaient des limitations pour les installations haute disponibilité. Le modèle leader/suiveur utilisé par GitHub Enterprise Server posait des problèmes pour Elasticsearch, car il ne pouvait pas supporter un nœud principal et un nœud réplica.
Les ingénieurs de GitHub ont tenté de stabiliser ce mode, mais les problèmes persistaient. Ils ont ensuite découvert la fonctionnalité de réplication inter-clusters (CCR) d'Elasticsearch, qui permet de partager les données d'index entre les nœuds de manière contrôlée.
Analyse et Implications
La nouvelle architecture de recherche utilisant CCR offre une meilleure durabilité et une réduction des temps d'arrêt. Les administrateurs de GitHub Enterprise Server n'auront plus à gérer les index de recherche manuellement, ce qui réduit les risques d'erreurs humaines. La nouvelle architecture est également plus évolutive, car elle permet une réplication des données plus efficace et une meilleure gestion des mises à jour.
Cependant, la mise en œuvre de la nouvelle architecture nécessite des changements dans la configuration de GitHub Enterprise Server. Les administrateurs doivent contacter le support de GitHub pour activer la nouvelle architecture et mettre à jour leur licence. La migration vers la nouvelle architecture peut prendre du temps, en fonction de la taille de l'instance GitHub Enterprise Server.
Perspective
La nouvelle architecture de recherche utilisant CCR est une étape importante pour améliorer la durabilité et la disponibilité de GitHub Enterprise Server. Les administrateurs de GitHub Enterprise Server sont invités à essayer la nouvelle architecture pour profiter d'une expérience de gestion plus fluide. GitHub continuera à améliorer la nouvelle architecture et à recueillir les commentaires des utilisateurs pour garantir une transition en douceur.