Создание хранилища типа «ключ-... Заметка

Создание хранилища типа «ключ-значение» следующего поколения в Airbnb

Airbnb переработала свой основной key-value store, Mussel, с V1 на V2, чтобы удовлетворить растущие потребности в обработке данных в реальном времени. Mussel V2 решает проблемы операционной сложности, ограничений по емкости и проблем согласованности V1 с помощью облачного NewSQL бэкенда. Ключевые улучшения включают автоматизированное развертывание Kubernetes, динамическое шардирование по диапазону для лучшего управления емкостью и гибкие параметры согласованности. Новая архитектура включает в себя stateless сервис Dispatcher для трансляции API-вызовов и событийно-ориентированный путь записи с использованием Kafka для обеспечения долговечности. Возможности пакетной загрузки сохранены и улучшены за счет stateless контроллеров и stateful рабочих групп для высокой пропускной способности. Автоматическое истечение срока действия (TTL) теперь топологически осведомлено и более эффективно в масштабе. Миграция с V1 на V2 использовала сложную стратегию blue/green с двойной записью и теневым чтением для обеспечения нулевого времени простоя и отсутствия потери данных. Важные извлеченные уроки включают управление сложностями согласованности и важность предварительного разделения для партиционирования на основе диапазонов. Kafka сыграла решающую роль в поддержании конечной согласованности в процессе миграции. Mussel V2 успешно объединяет пакетную загрузку, высокоскоростную запись и низколатентное чтение на одной платформе, упрощая инфраструктуру данных для инженерных команд.
CdXz5zHNQW_xJf1iLzWz1.jpeg