pile·
인프라 / DevOps·aws-architectureAWS Architecture·

삼성이 AWS Lambda Response Streaming으로 실시간 가격 조회를 구현한 방법

삼성 이커머스의 가격 제공 시스템이 시간당 크론 잡 기반 캐싱에서 AWS Lambda Response Streaming을 활용한 실시간 스트리밍 아키텍처로 전환한 과정을 다룬다. 기존 방식은 30개 이상 제품 변형 조합의 폭발과 1시간 동기화 지연으로 플래시 세일 중 오래된 가격이 노출되는 문제가 있었다. 신규 아키텍처는 P90 레이턴시를 4,500ms에서 50ms로 90배 단축하고 인프라를 100개 이상 인스턴스에서 Lambda 5~10개로 단순화했다.

핵심 포인트
  • 기존 시간당 크론 잡은 수천 개 사전 계산 레코드를 저장했으나 대부분 미사용이고 1시간 동기화 지연으로 플래시 세일 시 잘못된 가격이 노출됐다.
  • Bulk Arbitration Engine이라는 상태 비저장 오케스트레이션 레이어가 요청 시점에 Pricing Engine을 직접 조회해 캐시 없이 실시간 가격을 제공한다.
  • AWS Lambda Response Streaming으로 30개 상품 병렬 조회 결과를 버퍼링 없이 스트리밍해 TTFB를 줄였다.
  • SKU 목록을 POST 바디 대신 압축 GET 쿼리 스트링(~800바이트)으로 변환해 CloudFront CDN 캐싱을 가능하게 했다.
  • GZIP Level 1 압축으로 응답 크기 76% 감소(170KB → 40KB), CloudFront 엣지 캐싱으로 95% 트래픽을 처리한다.
상세 정리
  • 기존 문제: 30개 이상 제품과 다양한 변형·혜택 조합으로 수천 개 사전 계산 레코드를 저장, 대부분 미사용이며 가격 동기화 주기가 1시간이라 플래시 세일 중 오래된 가격이 노출됐다.
  • 해결 방향: 중간 캐싱 레이어를 제거하고 요청 시점에 Pricing Engine을 직접 조회하는 상태 비저장 아키텍처로 전환, "가격 엔진이 유일한 진실의 원천"으로 동작하게 했다.
  • Lambda Response Streaming 구현: awslambda.streamifyResponse() 래퍼로 스트리밍 활성화, SKU 목록 파싱 후 30개 병렬 요청 fan-out, 결과를 NDJSON 형식으로 즉시 스트리밍한다.
  • 압축 GET 변환: g=group1(p=SKU-A:1:p=SKU-B:2:c=context) 형식으로 SKU 목록을 쿼리 스트링에 압축해 GET 시맨틱을 유지, CDN 캐싱을 가능하게 했다.
  • CloudFront 설정: 기본 TTL 5분/최대 30분, 모든 쿼리 스트링을 캐시 키에 포함해 SKU 조합별 독립 캐시 엔트리 생성, 커스텀 가격 헤더 화이트리스트 적용.
  • 최적화 4단계 - VPC Peering: 네트워크 오버헤드 제거 + Provisioned Concurrency로 P90 4,500ms → 1,000ms(4.5배 개선).
  • 최적화 4단계 - HTTP/2 멀티플렉싱: 30개 병렬 요청에 커넥션 재사용으로 P90 1,000ms → 218ms(누적 20배 개선).
  • 최적화 4단계 - CloudFront 엣지 캐싱: 95% 트래픽을 엣지에서 처리해 P90 218ms → 50ms(누적 90배), P99 5,100ms → 150ms.
  • 응답 크기: GZIP Level 1 압축 적용으로 170KB → 40KB(76% 감소), 전송 비용과 TTFB 동시 개선.
  • 부분 실패 처리: 한 상품 가격 조회 실패 시에도 나머지 스트림은 계속 진행, 대부분 완성된 페이지를 사용자에게 전달한다.
  • 30개 배치 제한: 타임아웃 방지와 동시성 관리를 위해 30개 단위로 분할 처리, 초과 요청은 병렬 배치로 분리된다.
  • 운영 효과: 피크 시 100개 이상 자동 확장 인스턴스에서 Lambda 함수 5~10개로 단순화, 블랙프라이데이 등 고트래픽 이벤트에서 안정성 향상.
왜 읽나실시간 가격·재고 집계처럼 여러 백엔드 응답을 조합해야 하는 서비스에서 Lambda Streaming + CDN 캐싱 패턴을 구체적 수치와 함께 적용할 수 있는 인프라/백엔드 엔지니어에게 유용하다.
aws-architecture
AWS Architecture 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    엔터프라이즈 보안 요구사항을 충족하는 프라이빗 Amazon Bedrock AgentCore 구축하기

    Amazon Bedrock AgentCore의 VPC egress 기능(2026년 4월 추가)을 활용해 온프레미스 LLM·사내 IdP·사내 MCP 서버에 인터넷 노출 없이 연결하는 방법을 다룬다. 규제 산업 엔터프라이즈가 기존 사내 자산을 그대로 유지하면서 Bedrock AgentCore를 안전하게 구축하기 위한 구성 가이드다.

    요약 이어보기
    #mcp#amazon-bedrock#vpc+2
  2. 인프라 / DevOps·gitlab-engGitLab Blog·

    OpenTofu와 Argo CD로 구성하는 GitLab 기반 AWS 제어 플레인

    GitLab을 단일 제어 플레인으로 삼아 OpenTofu로 AWS 인프라를 프로비저닝하고, Argo CD로 GitOps 기반 애플리케이션 배포까지 자동화하는 엔드투엔드 튜토리얼이다. VPC·EKS 클러스터 구성부터 Helm 기반 툴 설치, 샘플 앱 배포까지 모든 과정이 GitLab CI/CD 파이프라인으로 연결된다.

    요약 이어보기
    #kubernetes#aws-eks#gitops+2
  3. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    Amazon Bedrock 기반 사내 LLM, 키 발급부터 비용 차단까지: F&F의 LiteLLM 게이트웨이 운영 사례

    패션 기업 F&F가 Amazon Bedrock과 LiteLLM 프록시를 결합해 구축한 사내 LLM 플랫폼 운영 사례다. API 키 셀프서비스 발급, 모델별 접근 승인 워크플로, 사용자·프로젝트별 예산 자동 차단까지 전 과정을 직접 구현한 아키텍처 결정과 운영 교훈을 공유한다.

    요약 이어보기
    #kubernetes#amazon-bedrock#litellm+2