아키텍처 계층 분리 경험
졸업 프로젝트로 라이브 스트리밍 플랫폼을 설계했을 때, 가장 고민이 됐던 부분은 동시 접속자가 늘어날 때 지연 시간을 어떻게 안정적으로 유지할 것인가였습니다. 처음에는 단순히 CDN을 붙이면 해결될 거라 생각했는데, 실제로는 스트림 소스 단에서 세그먼트 크기와 버퍼링 전략을 함께 조정해야 했습니다. 서버를 오리진/엣지 계층으로 나눠 오리진은 트랜스코딩에 집중하고 엣지는 캐싱 위주로 동작하게 분리했더니 피크 타임에도 재생이 끊기는 빈도가 크게 줄었습니다.
HLS 세그먼트 크기를 조정하는 과정에서 짧으면 연결 오버헤드가 늘고 길면 초기 버퍼링이 길어지는 트레이드오프도 직접 체감했습니다. 이 경험에서 배운 건, 아키텍처 결정은 데이터 경로가 어디서 막히는지를 먼저 그려본 뒤에 내려야 한다는 점이었고, 지금은 설계 전에 병목 지점을 도식화하는 습관이 생겼습니다.