DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
KOEN
Read Original

Contents

Continue Reading

  • More from Airbnb
#Backend

에어비앤비의 결함 허용(Fault-tolerant) 메트릭 저장 시스템 구축기

에어비앤비의 결함 허용(Fault-tolerant) 메트릭 저장 시스템 구축기
01

Summary

초당 5,000만 건의 데이터, 에어비앤비는 어떻게 '죽지 않는' 메트릭 시스템을 만들었나?

13억 시계열 데이터의 파고를 넘는 에어비앤비의 멀티 테넌트 & 페더레이션 전략

에어비앤비가 대규모 관측 인프라를 구축하며 겪은 기술적 도전과 해결책을 다룹니다. 단순한 저장소 구축을 넘어, 거대 규모의 시계열 데이터를 어떻게 안전하게 분산하고 장애 범위를 격리했는지에 대한 아키텍처적 통찰을 제공합니다.

  • 01셔플 샤딩을 통한 DDoS급 트래픽 폭주 격리 전략
  • 02Promxy를 활용한 투명한 멀티 클러스터 데이터 페더레이션
  • 03가용성 99.9%를 달성하기 위한 단계별 클러스터 롤아웃 모델
  • 04클러스터를 '반려동물'이 아닌 '가축'처럼 관리하는 운영 철학
  • 05컴팩션 워커 샤딩을 통한 대규모 테넌트의 쿼리 성능 최적화

+RECOMMENDATION

대규모 트래픽을 처리하는 인프라 엔지니어나 시계열 데이터베이스 운영자에게 강력히 추천합니다. 특히 단일 장애 지점을 제거하고 안정적인 멀티 테넌트 시스템을 설계하려는 개발자에게 실질적인 가이드를 제공합니다.

The Problem

에어비앤비는 초당 5,000만 개의 샘플과 13억 개의 시계열 데이터를 처리해야 하는 상황에서, 외부 호스팅 서비스에서 내부 운영 솔루션으로 전환하며 대규모 데이터의 성능 및 안정성 문제에 직면했습니다. 특히 단일 클러스터 내 테넌트 간의 간섭(Noisy Neighbor), 대규모 쿼리 지연, 컴팩션 병목 현상이 주요 해결 과제였습니다.

The Solution

셔플 샤딩(Shuffle Sharding)을 통해 테넌트 간 장애를 격리하고, 읽기/쓰기 가드레일을 도입하여 개별 서비스가 전체 시스템에 영향을 주지 않도록 설계했습니다. 또한 Promxy를 활용한 멀티 클러스터 페더레이션 구조를 도입하여 장애 범위를 최소화하고, Kubernetes 오퍼레이터를 통해 상태 저장 앱의 배포를 자동화했습니다.

The Result

99.9% 이상의 높은 가용성을 달성했으며, 테넌트별 제어와 멀티 존 배포를 통해 인프라의 탄력성을 확보했습니다. 클러스터를 개별적으로 관리하던 수동 프로세스를 자동화하여 구성 드리프트를 방지하고, 특정 클러스터 장애 시에도 전체 관측성 서비스가 중단되지 않는 구조를 완성했습니다.

Trade-off

멀티 클러스터 페더레이션 쿼리는 단일 클러스터 내 쿼리보다 약 5~10배 더 많은 리소스를 소모하는 비용 문제가 발생했습니다. 또한 시스템 안정성을 위해 클러스터 구성 및 관리 도구 개발에 상당한 운영 리소스가 투입되었습니다.

03

Key Concepts

Concept · 01

Shuffle Sharding

공유 리소스 환경에서 각 사용자의 워크로드를 특정 하위 집합(Shard)에 분산하여, 한 사용자의 장애가 다른 사용자에게 전파될 확률을 수학적으로 최소화하는 기술입니다.

  • 테넌트별로 쓰기 노드의 하위 집합을 할당하여 특정 서비스의 과부하가 전체로 번지는 것을 방지했습니다.
Concept · 02

Federated Query

여러 물리적 클러스터에 분산된 데이터를 마치 하나의 데이터 저장소에 있는 것처럼 통합하여 조회하는 방식입니다.

  • Promxy를 사용하여 여러 클러스터에 걸친 크로스 클러스터 쿼리 및 알람 기능을 구현했습니다.
Concept · 03

Blast Radius Control

특정 컴포넌트나 노드에 장애가 발생했을 때 그 영향이 미치는 지리적, 논리적 범위를 제한하는 설계 원칙입니다.

  • 단일 대형 클러스터 대신 여러 개의 소형 클러스터로 워크로드를 분산하여 특정 영역의 장애가 시스템 전체로 확산되지 않도록 했습니다.
Continue reading · same source

AirbnbMore from Airbnb

View all posts from Airbnb
  • 프로젝트 라이트하우스 3부 — project-lighthouse-anonymize를 소개합니다

    Data PrivacyAnonymizationPython
    4일 전
  • 코로나19의 종식을 알게 된 방법 (그리고 우리 모델이 잊어야 했던 것들)

    ForecastingBayesian MethodsMachine Learning
    1주 전
  • 유연한 인증(Flexible Authentication): 에어비앤비의 수백만 사용자를 위한 인증 시스템 재설계

    Server-Driven UIAuthenticationMobile Architecture
    2주 전
  • 평가 주도 개발: 대규모 GenAI 평가를 통해 얻은 교훈

    LLM EvaluationGenerative AIEval-Driven Development
    1개월 전
  • 게스트 여정 학습을 통한 에어비앤비 검색 개인화

    TransformerRecommendationSearch Personalization
    1개월 전

Source

Airbnb
Airbnb
Engineering Blog

Published · April 21, 2026

Topics

Time Series DatabaseMulti-tenancyShuffle ShardingPrometheusKubernetes