에어비앤비의 Key-Value 스토어에서 정적 속도 제... 노트

에어비앤비의 Key-Value 스토어에서 정적 속도 제한에서 적응형 트래픽 관리로

에어비앤비의 키-값 저장소인 Mussel은 원래 단일 클라이언트가 시스템을 압도하는 것을 방지하기 위해 간단한 QPS 속도 제한을 사용했습니다. 트래픽이 증가하고 더 복잡해짐에 따라, 이 방식은 비용 변동과 트래픽 왜곡으로 인해 불충분한 것으로 드러났습니다. 이를 해결하기 위해 Mussel은 다층 품질 보증 (QoS) 시스템을 구현하도록 발전했습니다. 첫 번째 계층인 자원 인식 속도 제어 (RARC)는 실제 백엔드 비용을 반영하여 행, 바이트, 지연 시간을 고려한 요청 단위 (RU)로 요청을 청구합니다. 이 시스템은 각 호출자에 대해 정적 RU 할당량을 가진 토큰 버킷을 사용합니다.두 번째 계층인 부하 분산은 용량이 부족하거나 핫스팟이 발생할 때 실시간 보호 기능을 제공합니다. 이는 트래픽 중요도, 시스템 스트레스를 나타내는 지연 시간 비율, 그리고 CoDel에서 영감을 얻은 큐잉 정책을 결합합니다. 이를 통해 높은 우선순위 트래픽은 응답성을 유지하고, 지연 시간이 증가할 때 다른 트래픽을 점진적으로 줄일 수 있습니다. 세 번째 계층인 핫키 감지 및 DDoS 방어는 특정 데이터를 대상으로 하는 동일한 요청의 급증을 식별하고 완화합니다. 이는 실시간 감지를 위해 메모리 내 top-k 카운터를 사용하고, 디스패처 포드에서 로컬 캐싱을 사용하며, 중복된 핫키 조회를 위해 스토리지 계층에 하나의 요청만 보내도록 요청 병합을 사용합니다.이러한 계층화된 제어는 Mussel이 트래픽 급증을 처리하고 안정성을 유지하는 능력을 크게 향상시켰습니다. 주요 내용은 개념 검증을 위한 초기 영향의 가치, 확장성을 위한 로컬 제어 루프 선호, 그리고 서로 다른 시간 척도로 작동하는 메커니즘 사용을 포함합니다. 이 정교한 QoS 스택은 Mussel이 극심하고 변동적인 트래픽 조건에서도 빠르고 안정적으로 유지되도록 보장합니다.
CdXz5zHNQW_D4i1N1yN56.jpeg