클라우드플레어(Cloudflare)가 자사의 핵심 내부 서비스인 핑고라 백엔드 라우터(Pingora Backend Router, PBR)의 일관된 해싱(consistent hashing) 시스템을 최적화하여 전 세계 데이터센터에서 총 100테라바이트(TB) 이상의 램(RAM)을 절감하는 데 성공했습니다. 이는 서버 부하를 효율적으로 분산하기 위한 해싱 알고리즘의 메모리 사용량을 줄인 결과로, 대규모 인프라 운영에서 사소해 보이는 최적화가 얼마나 큰 파급 효과를 가져올 수 있는지 보여주는 사례입니다.
이번 최적화는 크게 두 가지 방식으로 이루어졌습니다. 첫째, 해시(hash)와 서버 인덱스를 저장하는 러스트(Rust) 구조체의 메모리 정렬 제약을 피해 8바이트를 6바이트 배열로 압축하여 메모리 사용량을 25% 줄였습니다. 둘째, 서버당 필요한 해시 개수를 수학적으로 재분석하여, 부하 균등화 효과는 유지하면서도 해시 수를 90%까지 대폭 줄였습니다. 기존에는 서버당 160개의 해시를 기본으로 사용했으나, 해시 수가 늘어날수록 부하 균등화 효과는 미미해지고 32비트 해시 충돌 확률만 높아진다는 점을 발견한 것입니다. 이러한 변경 사항은 캐시 무효화와 원본 서버(origin server) 트래픽 급증을 피하기 위해 구형/신형 링을 병행 운영하며 단계적으로 전환되었습니다.
클라우드플레어는 전 세계 수천 대의 서버에서 페타바이트(PB) 단위의 램과 수백만 개의 CPU 코어를 운영하고 있어, 1% 단위의 작은 개선도 엄청난 비용 절감으로 이어집니다. 이번 100TB 램 절감은 앞서 DNS 팀의 100TB 메모리 절감과는 별개로 추가적인 성과입니다. 이는 단순히 하드웨어를 증설하는 대신, 기존 시스템의 비효율성을 면밀히 분석하고 수학적 근거를 바탕으로 최적화하는 것이 대규모 서비스 운영에 얼마나 중요한지 시사합니다. 또한, 오픈소스 일관된 해싱 라이브러리인 '핑고라-케타마(pingora-ketama)'에도 이러한 변경점이 반영되어 다른 개발자들도 활용할 수 있게 되었습니다.