Toss
기술 블로그
B레벨 - 심화

토스 페이먼츠 결제 SDK에 카나리 배포를 적용하여 프론트엔드 배포 안정성을 높인 방법

프론트엔드
DevOps
인프라
AWS CloudFrontLambda@EdgeS3JavaScript SDKJA3 Fingerprint
2025년 2월조회 0면접 0원문 보기

배경

토스 페이먼츠의 JavaScript SDK는 수많은 가맹점 파트너의 결제 처리를 담당하는 핵심 인프라이다.

도전 과제

CDN 캐싱(99% 이상 히트율)과 점진적 롤아웃이라는 상충하는 요구사항을 동시에 만족시켜야 했다.

해결 방안

AWS CloudFront와 Lambda@Edge를 활용한 User-Based Canary 시스템을 구축했다. JA3 핑거프린트를 활용하여 사용자를 코호트로 분류하고, 코호트별로 캐싱을 유지하면서 카나리 가중치에 따라 버전을 분기한다.

결과

캐시 히트율 99% 이상을 유지하면서 점진적 배포가 가능해졌다. Lambda@Edge 실행 시간이 1ms 미만이며, 1000만 요청당 추가 비용이 $0.60에 불과했다.

핵심 인사이트

  • 1.CDN 캐싱과 카나리 배포는 코호트 기반 캐시 키 설계로 양립 가능하다
  • 2.JA3 핑거프린트는 쿠키 없이도 일관된 사용자 식별을 제공한다
  • 3.Edge 함수를 활용하면 배포 없이 실시간으로 트래픽 분배를 조절할 수 있다

이 사례 기반 면접에 도전해보세요

Toss의 실제 기술적 결정과 트레이드오프를 깊이 파고드는 면접 질문 2가 준비되어 있습니다

DEVOPS
FRONTEND
타이머사례 참조 가능결과 아카이브

로그인 없이 바로 면접을 시작할 수 있습니다