Présentation de Meerkat
Cloudflare a développé un service de consensus global appelé Meerkat, basé sur l'algorithme de consensus QuePaxa. Meerkat vise à offrir un système de stockage de données clé-valeur fortement cohérent et tolérant aux fautes, capable de gérer les données de contrôle de plusieurs services internes à Cloudflare répartis dans plus de 330 centres de données à travers le monde.
Contexte technique
Les services internes de Cloudflare nécessitent souvent d'accéder et de modifier les mêmes données de contrôle à partir de multiples emplacements. Cela nécessite des garanties que les lecteurs ne verront jamais d'état incohérent et que le système reste disponible pour les écritures même en cas de défaillance de certains centres de données ou de liaisons. L'algorithme de consensus QuePaxa, utilisé par Meerkat, permet à toutes les répliques de réaliser des écritures en tout temps, sans interruption due à des timeouts, ce qui le rend adapté au réseau de Cloudflare.
Fonctionnement de Meerkat
Meerkat utilise l'algorithme de consensus QuePaxa pour synchroniser les données de manière sécurisée malgré les conditions réseau défavorables. Contrairement à d'autres algorithmes de consensus comme Raft, qui reposent sur des leaders et des timeouts, QuePaxa permet à toutes les répliques de réaliser des écritures sans interruption. Cela signifie que même si un centre de données ou une liaison échoue, le système reste disponible pour les écritures.
get
Les applications, telles que des magasins de clés-valeurs transactionnels et des systèmes de location, sont construites au-dessus du journal de consensus de Meerkat. Cette approche permet de garantir une forte cohérence et une tolérance aux fautes pour les données de contrôle.
Implications et limites
Meerkat est actuellement un service de consensus expérimental en développement, conçu initialement pour gérer de petites parties de l'état du plan de contrôle, comme les informations de placement et de leadership. Il sera maintenu interne pour le futur immédiat. Les prochains articles sur Meerkat approfondiront ces aspects et présenteront les résultats de cette expérimentation.