Airbnb에서 차세대 키-값 저장소 구축하기 노트

Airbnb에서 차세대 키-값 저장소 구축하기

Airbnb는 진화하는 실시간 데이터 요구 사항을 충족하기 위해 핵심 키-값 저장소인 Mussel을 V1에서 V2로 재설계했습니다. Mussel V2는 클라우드 네이티브 NewSQL 백엔드를 사용하여 V1의 운영 복잡성, 용량 제한 및 일관성 문제를 해결합니다. 주요 개선 사항으로는 자동화된 Kubernetes 배포, 더 나은 용량 관리를 위한 동적 범위 샤딩, 유연한 일관성 옵션 등이 있습니다. 새로운 아키텍처는 API 호출을 변환하는 상태 비저장 Dispatcher 서비스와 내구성을 위한 Kafka를 사용하는 이벤트 기반 쓰기 경로를 특징으로 합니다. 대량 로딩 기능은 상태 비저장 컨트롤러와 고처리량을 위한 상태 저장 워커 플릿으로 강화되어 유지됩니다. 자동화된 Time-To-Live(TTL) 만료는 이제 토폴로지 인식 기능을 갖추고 대규모에서 더 효율적입니다. V1에서 V2로의 마이그레이션은 다운타임 및 데이터 손실 없이 제로 다운타임 및 데이터 손실을 보장하기 위해 이중 쓰기 및 섀도우 읽기를 사용하는 복잡한 블루/그린 전략을 사용했습니다. 얻은 중요한 교훈은 일관성 복잡성을 관리하는 것과 범위 기반 파티셔닝을 위한 사전 분할의 중요성입니다. Kafka는 마이그레이션 과정에서 최종 일관성을 유지하는 데 중요한 역할을 했습니다. Mussel V2는 대량 수집, 고속 쓰기 및 저지연 읽기를 단일 플랫폼에서 성공적으로 통합하여 엔지니어링 팀을 위한 데이터 인프라를 단순화합니다.
CdXz5zHNQW_xJf1iLzWz1.jpeg