트래픽 처리 설계 원칙을 경험 기반으로 설명
대규모 트래픽을 처리하는 시스템을 설계할 때 저는 수평 확장 가능성을 먼저 전제합니다. 단일 서버에 의존하는 구조는 트래픽이 늘면 한계가 명확하기 때문에, 상태를 외부 저장소(Redis 등)로 분리하고 stateless 서버 구성을 기본으로 잡습니다. 부하가 높은 조회 요청은 CDN이나 캐시 레이어를 먼저 거치도록 설계해서 DB 부하를 줄입니다. 인턴 때 이벤트 트래픽 급증 상황을 경험했는데, 동기 처리 방식으로는 응답 지연이 발생했고 메시지 큐(비동기 처리)로 전환하면서 안정됐습니다.
어디서 병목이 생기는지 먼저 측정하고 개선하는 것이 무분별한 확장보다 효과적이라는 걸 그때 배웠습니다.