Construction d'une base de don... Note

Construction d'une base de données clé-valeur de nouvelle génération chez Airbnb

Airbnb a réarchitecturé son magasin clé-valeur principal, Mussel, de V1 à V2 pour répondre aux exigences évolutives des données en temps réel. Mussel V2 aborde la complexité opérationnelle, les limitations de capacité et les problèmes de cohérence de V1 avec un backend NewSQL natif dans le cloud. Les améliorations clés incluent le déploiement automatisé de Kubernetes, le partitionnement dynamique par plage pour une meilleure gestion de la capacité et des options de cohérence flexibles. La nouvelle architecture comprend un service Dispatcher sans état pour traduire les appels d'API et un chemin d'écriture piloté par les événements utilisant Kafka pour la durabilité. Les capacités de chargement en masse sont préservées, améliorées avec des contrôleurs sans état et des flottes de workers avec état pour un débit élevé. L'expiration automatisée du Temps de Vie (TTL) est désormais consciente de la topologie et plus efficace à grande échelle. La migration de V1 à V2 a employé une stratégie complexe de type bleu/vert avec des écritures doubles et des lectures fantômes pour garantir l'absence d'interruption et de perte de données. Les leçons critiques apprises incluent la gestion des complexités de cohérence et l'importance du pré-partitionnement pour le partitionnement basé sur les plages. Kafka a joué un rôle crucial dans le maintien de la cohérence éventuelle pendant le processus de migration. Mussel V2 fusionne avec succès l'ingestion en masse, les écritures à haute vitesse et les lectures à faible latence sur une seule plateforme, simplifiant l'infrastructure de données pour les équipes d'ingénierie.
CdXz5zHNQW_xJf1iLzWz1.jpeg