Cloudflare가 내부 부하 분산 서비스 Pingora Backend Router(PBR) 의 일관된 해싱 구현을 최적화해 전 세계에서 100TB 이상의 RAM을 회수함 서버별 부하를 고르게 나누기 위한 해시, 저장 용량에 따른 가중치, 기능 조합별 별도 링이 겹치면서 해시 저장 공간이 일부 경우 6GB까지 커짐 Rust 구조체의 정렬 제약을 피해 해시와 서버 인덱스를 6바이트 배열에 저장하면서 일관된 해싱의 메모리 사용량을 25% 절감함 해시를 늘릴수록 부하 균등화 효과는 줄고 32비트 해시 충돌은 늘어남을 확인해, 유의미한 오차 증가 없이 서버별 해시 수를 90% 줄임 캐시 무효화와 원본 서버 트래픽 급증을 피하기 위해 구형/신형 링을 병행 운영하고, 트래픽 비율과 데이터센터 범위를 따로 제어하며 단계적으로 전환함 PBR의 메모리 사용량이 커진 이유 Cloudflare는 전 세계 수천 대의 서버에서 페타바이트 단위 RAM과 수백만 CPU 코어를 사용하며, 모든 노드에서 각 서비스를 실행해야 하므로 작은 낭비도 큰 비용으로 확대됨 1% 단위의 개선도 유효한 규모이며, 이번 절감은 DNS 팀의 앞선 100TB 메모리 절감과 별개임 성능 팀이 내부 부하 분산 서비스 PBR에서 예상보다 큰 메모리 사용량을 발견했고, 원인은 오픈소스 일관된 해싱 라이브러리 pingora-ketama 관련 자료구조에 있었음 일관된 해싱과 부하 편차 일관된 해싱(consistent hashing) 은 서버가 추가되거나 제거되어도 작업 배치를 크게 바꾸지 않고 여러 서버에 작업을 분산하는 방식임 Cloudflare는 캐시 가능한 요청을 URL에 따라 서버로 보내 데이터센터마다 파일 사본 하나만 저장하고, 각 파일의 위치를 안정적으로 찾는 데 사용함 해시 함수는 다양한 입력을 32/64/128비트 부호 없는 정수로 바꾸며, 서버와 작업을 같은 숫자 공간에 배치할 수 있음 서버는 IP 주소, 작업은 캐시 키 등을 해시해 위치를 정함 32비트 수직선 예시에서는 각 작업 왼쪽의 첫 서버에 작업을 할당하며, 마지막 서버의 담당 구간은 시작점으로 이어지므로 링으로 볼 수 있음 서버가 처리하는 요청 비율은 담당 구간의 크기에 비례하지만, 해시 위치가 사실상 무작위라 서버마다 구간 크기가 달라짐 서버 수가 (N)이고 서버당 해시가 하나라면 담당 구간 비율의 기댓값과 표준편차는 다음과 같음 (\mathrm{Exp}=1/N) (\mathrm{SD}=(...
Related
Brut - Unix 도구를 위한 Brutal Router
17 minutes ago
0
Norm Macdonald 관련 게시물 때문에 2년간 55차례 스와팅을 당한 부부
39 minutes ago
0
ESP32-C3 광고 차단기
42 minutes ago
0
클래식 Commodore 64 키캡 사진으로 재현한 폰트
45 minutes ago
0
Show GN: 해외 직구한 내 소포, 어디쯤 있을까요?
2 hours ago
4
x32에서 실행한 Janet: 32비트 포인터, 64비트 속도, RAM 25% 절감
3 hours ago
5
노트북 도둑과 함께 일했던 때 (2025)
3 hours ago
4
D2Coding 폰트 1.4.0 릴리즈 소식을 전합니다.
4 hours ago
6
Tips
click
Popular
프로들도 줄지어 샷 점검… KLPGA 스타 사랑방 된 더헤븐CC 연습장
2 weeks ago
74
iOS 27, iPadOS 27, macOS 27
3 weeks ago
69
손흥민 선제골 발판·골대 불운…LAFC, 7경기 만에 승리
3 weeks ago
65
영림원소프트랩, 나람 통합 ERP 구축…사료 제조·물류·회계 데이터 하나로
2 weeks ago
62
'이 악문' 김영범, 자유형 50m '대회 신기록' 금메달
2 weeks ago
56
Accelerate your SAP modernization with Kiro
1 week ago
55
© Clint IT 2026. All rights are reserved

2 weeks ago
12








English (US) ·