수학으로 100TB 메모리 절약한 Cloudflare의 최적화 기법

Key Point
수십 테라바이트 규모의 메모리 최적화를 통해 확장 가능한 분산 시스템 설계에서 알고리즘 개선의 영향력을 직접 볼 수 있는 사례입니다.
핵심 요약
- Cloudflare가 로드 밸런싱 서비스인 Pingora Backend Router의 메모리 사용량을 줄이는 과정을 소개했다.
- 내부적으로 사용 중인 일관성 해싱(consistent hashing) 알고리즘이 서버 간 작업을 골고루 분배하는 원리를 설명한다.
- 해시 함수의 출력을 32비트 정수 범위로 표현한 뒤 각 서버와 작업을 이 범위에 매핑해 작업을 할당한다.
- 단순 일관성 해싱의 문제점은 서버가 100개일 때 표준편차가 약 99%로 커서 일부 서버는 2배 이상의 요청을 처리하게 된다는 것이다.
- 여러 해시값을 추가해 범위를 더 잘게 나누는 방식으로 부하 불균형을 개선할 수 있다.
- 이러한 최적화로 전 세계적으로 100TB 이상의 메모리를 확보했다.