QUIC으로 수십억 트래픽을 대응하는 법 [번역]
(notion.so)방신우라는 분이 페이스북 엔지니어링 블로그에 올라온 QUIC+HTTP/3 프로토콜 적용 경험을 한국어로 번역하여 올리셨습니다. (원문 영어) 다들 잘 아시다시피 QUIC은 기존의 TCP를 대체하기 위해 UDP 기반으로 TCP의 기능을 새롭게 구현한 프로토콜이고, HTTP/3는 QUIC에 맞게끔 새롭게 업데이트된 HTTP입니다. 이는 모두 현 시점에서 가장 최신 프로토콜이며, 네트워크 연결 상태가 좋지 않을 때에도 좋은 성능을 발휘하는 것으로 알려져 있습니다. IETF는 2021년경 QUIC의 RFC 작성을 완료할 예정입니다.
내용을 요약하면 다음과 같습니다. 현재 페이스북 트래픽 중 4분의 3 이상에 이미 HTTP/3가 적용된 상태라고 합니다. 이를 위해 QUIC 구현체인 mvfst와 혼잡 제어(Congestion Control) 구현체인 BBR, 그리고 성능 측정 도구 등을 직접 구현하고 알고리즘과 자료 구조를 최적화하였습니다. 그리고 기존에 TCP 사용을 암묵적으로 가정하던 휴리스틱 설정이 QUIC에서 문제를 일으키는 것을 식별하였고, 각종 파라미터도 몇 번의 실험을 통해 수정해야 했습니다. 이러한 과정을 거쳐 페이스북 앱 내의 동적 컨텐츠부터 시작하여 정적 컨텐츠를 비롯한 모든 컨텐츠에 순차적으로 QUIC+HTTP/3가 적용되었습니다. 이 과정에서 페이스북 내 여러 분야의 관계자와 협업하였습니다. 결과적으로 각 컨텐츠에서 요청 오류나 레이턴시, 버퍼링 등의 지표가 개선된 것을 확인하였습니다. 이제는 페이스북과 인스타그램의 앱과 웹 모두에 QUIC+HTTP/3가 적용된 상태이며, 앞으로는 혼잡 제어와 손실 복구를 더욱 개선하고 QUIC의 신기능을 활용할 것이라 합니다.
영어 원문:
https://engineering.fb.com/2020/10/…
참고 - 클라우드플레어 기술 블로그의 HTTP/3 소개(한국어):
https://blog.cloudflare.com/ko/http3-the-past-present-and-future-ko/