캐시 레이어로 DB 부하 감소 + 로드밸런서 분산 + 메시지 큐 비동기 + 쓰기 샤딩 시점 경험
인턴 때 트래픽이 몰리는 시간대에 API 응답이 느려지는 문제를 처음 분석해봤습니다. 캐시 측면에서는 자주 조회되는 데이터를 캐시 레이어에서 먼저 반환하도록 바꿨더니 DB 부하가 크게 줄어드는 걸 경험했습니다. 로드밸런서 측면에서는 요청이 한 서버에 몰리지 않도록 분산하는 구조가 단순히 서버를 늘리는 것보다 효과적이라는 걸 배웠습니다. 큐 측면에서는 시간이 오래 걸리는 작업을 메시지 큐로 분리해서 API 응답 시간에 영향을 주지 않도록 처리하는 방식을 배웠습니다. 샤딩 측면에서는 특정 테이블에 쓰기 요청이 집중될 때 수평 분리를 고려하는 시점이 언제인지를 경험을 통해 배웠습니다. 대규모 트래픽 처리에서 중요한 건 어디가 병목인지를 먼저 측정하는 것이라는 걸 그때 배웠습니다.
트래픽 문제는 병목 지점마다 다른 접근이 필요하다는 걸 느꼈습니다.