URL 단축기 설계: 모든 결정을 고가용성으로 뭉뚱그리지 않기tinyurl 같은 URL 단축기는 겉보기에 단순하다. 긴 URL을 짧게 바꾸고, 짧은 URL을 누르면 원래로 보낸다. 그런데 설계에 들어가면 결정이 여럿 갈리고, 처음에는 그 결정을 전부 "고가용성 때문"으로 뭉뚱그리기 쉽다. 이 글은 대규모 시스템 설계 스터디에서 URL 단축기를 다룬 기록이고, 각 결정이 실제로는 어느 요구사항이나 추정치에서 나왔는지를 분리하는 데 중점을 두고 설계를 진행했습니다. 책의 해당 챕터는 요구사항과 추정에서 출발해 단축키 생성 방법을 비교하고, base-62 변환으로 상세 설계를 만든 뒤 리디렉션과 캐시로 마무리한다. 스터디에서는 개념 정리에 더해 각 결정의 동인을 분해하고, 7장 유일 ID 생성기(여러 서버가 ..