채널톡 아이콘

커머스 캐시 설계 — 로컬·분산·DB 사이에서 트래픽 폭주를 버티는 법

세일 오픈 트래픽에 무너지는 상품·이벤트 API를 로컬 L1 + 원격 L2 + 스탬피드 방지 + 무효화 + 킬스위치로 고치고, 같은 부하에서 대역폭·지연·DB 부하가 얼마나 줄었는지 전후 숫자로 증명합니다.

2명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

대용량트래픽
대용량트래픽
실습 중심
실습 중심
대용량트래픽
대용량트래픽
실습 중심
실습 중심

수강 후 이런걸 얻을 수 있어요

  • 큰 키·핫키를 찾아 키 크기 × 요청 수(바이트 기준)로 표를 만들고, 같은 부하·같은 창 전후 비교로 캐시 변경 효과를 숫자로 보고합니다.

  • 로컬 L1 + 원격 L2 이층 캐시를 설계하고 크기·TTL을 근거로 정하며, 대역폭 한도에서 왜 원격 캐시가 무너지는지 설명합니다.

  • single-flight·분산 락·확률적 조기 갱신·TTL 지터·부정 캐시로 스탬피드를 막고, 이벤트 무효화·버전 키로 일관성 창을 정책으로 씁니다.

  • 랭킹을 정렬 집합으로 서빙하고 이중 쓰기·복구·회로 차단·킬스위치와 응답 계약을 설계합니다.

같은 부하에서 실패 3,567건 → 0건, 원격 캐시 송신 200.7MB → 4.6MB. 무너지는 커머스 API를 직접 고쳐 전후 숫자로 증명하는 것이 이 강의의 최종 결과물입니다.

세일 오픈 트래픽에 무너지는 상품·이벤트 API를 로컬 L1 + 원격 L2 + 스탬피드 방지 + 무효화 + 킬스위치로 고치고, 같은 부하에서 대역폭·지연·DB 부하가 얼마나 줄었는지 전후 숫자로 증명합니다.

레디스 명령이나 자료구조를 하나씩 배우는 강의가 아닙니다. 작은 개발팀이 운영하는 가상 스포츠·아웃도어 전문몰 '루프마켓'의 시즌 오프 페스타 오픈 트래픽을 Docker 실습 환경에서 재현하고, 캐시가 있는데도 무너지는 이유(큰 응답의 대역폭, 핫키, 스탬피드, 일관성 창, 축출 정책 충돌, 노이지 네이버, 비싼 섹션)를 하나씩 측정한 뒤 고칩니다. 모든 숫자는 실습에서 직접 잰 값이고, 모든 강의는 따라 하기 → 결과 확인 → 일부러 깨뜨려 보기 순서입니다.

이 강의를 마치면

  • 큰 키·핫키를 찾아 키 크기 × 요청 수(바이트 기준)로 표를 만든다

  • 같은 부하·같은 창 전후 비교로 캐시 변경 효과를 숫자로 보고한다

  • 로컬 L1 + 원격 L2 이층 캐시를 설계하고 크기·TTL을 근거로 정한다

  • single-flight·분산 락·확률적 조기 갱신·TTL 지터·부정 캐시로 스탬피드를 막는다

  • 이벤트 무효화·버전 키로 일관성 창을 줄이고 데이터별 정책 문서를 쓴다

  • 랭킹 같은 순서 데이터를 정렬 집합으로 서빙하고 이중 쓰기·복구·회로 차단을 설계한다

  • 공유 캐시를 전용으로 분리할 근거(축출 정책 충돌·노이지 네이버)를 측정으로 만든다

  • 비싼 섹션만 끄는 킬스위치와 응답 계약을 정한다

이런 분께 추천합니다

  • 세일·이벤트 때마다 캐시·DB 장애를 겪는 커머스 백엔드 개발자

  • 레디스 캐시 어사이드는 써 봤지만 그다음 단계(대역폭·스탬피드·무효화)가 막막한 분

  • 캐시 변경 효과를 숫자로 보고해야 하는 개발 리드

커리큘럼 (9섹션 · 32강 · 약 194분)

  • 섹션 0. 최종 목표 데모 — 완성 결과 미리 보기

  • 섹션 1. 실습 환경과 기준선 — 실습 환경 띄우기, 루프마켓 API 와 데이터, 부하 발생기와 대시보드, 기준선: 캐시 없이 DB 가 무너진다

  • 섹션 2. 원격 캐시의 함정 — 대역폭 — 캐시 어사이드로 원격 캐시 붙이기, 큰 응답이 대역폭을 먹는다, 키 크기 분포 재기, 같은 창 전후 비교 측정법, 압축과 분할은 근본 해결이 아니다

  • 섹션 3. 로컬 L1 + 원격 L2 이층 캐시 — 로컬 캐시를 L1 으로, L1 크기와 티티엘 정하기, 인스턴스 여러 대와 일관성 창, L1 전후 같은 창 비교, L1 의 함정

  • 섹션 4. 핫키와 스탬피드 — 핫키 찾기, 캐시 스탬피드 재현, 락과 single-flight, 확률적 조기 갱신, TTL 지터와 부정 캐시

  • 섹션 5. 무효화와 일관성 창 — 이벤트 기반 무효화, 버전 키, 일관성 창을 정책으로 쓰기

  • 섹션 6. DB 와 순서 데이터 — DB 버퍼 캐시는 앱이 통제할 수 없다, 정렬 집합으로 랭킹 서빙, 회로 차단과 폴백

  • 섹션 7. 운영 — 분리·킬스위치·관측 — 전용 클러스터로 분리하는 판단, 노이지 네이버 측정, 킬스위치와 응답 계약, 캐시 관측 대시보드

  • 섹션 8. 캡스톤 — 캡스톤: 전부 켜고 같은 부하로 증명, 전체 점검표와 정리

실습 환경

Docker Compose 하나로 루프마켓 상품·이벤트 API(Node.js, 두 대) + 레디스 호환 서버(실습은 Valkey) 주·복제 노드 + PostgreSQL + k6 부하 발생기 + Prometheus·Grafana 를 띄웁니다. 복제 노드 송신 대역폭 한도는 tc 로 재현합니다. 기능 플래그로 L1·스탬피드 방지·무효화·킬스위치를 재빌드 없이 켜고 끄며, 32개 시나리오 스크립트로 강의의 모든 결과를 그대로 재현할 수 있습니다. 실습 자료(ZIP)를 제공합니다.

선수 지식

  • Spring 또는 Node.js 중 하나로 API 를 만들어 본 경험

  • 레디스 기초(GET/SET/TTL)

  • Docker·터미널 기본 사용

이 강의에서 다루지 않는 것

  • 레디스 설치·명령 입문

  • 클러스터 샤딩 내부 구현

  • 클라우드 관리형 서비스 콘솔 설정

안내

강의 내레이션은 합성 음성(AI)으로 제작했습니다. 모든 데이터는 교육용 가상 데이터이며, 숫자는 실행 환경에 따라 달라질 수 있습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 세일·이벤트 때마다 캐시·DB 장애를 겪는 커머스 백엔드 개발자

  • 캐시 어사이드는 써 봤지만 대역폭·스탬피드·무효화가 막막한 분

  • 캐시 변경 효과를 숫자로 보고해야 하는 개발 리드

선수 지식,
필요할까요?

  • Spring 또는 Node.js 중 하나로 API 를 만들어 본 경험

  • 레디스 기초(GET/SET/TTL)

  • Docker·터미널 기본 사용

안녕하세요
데이터장인입니다.

커리어인증

20년 이상 데이터베이스와 IT 분야에서 경력을 쌓아온 데이터장인입니다. DBA 및 DB Platform 팀 매니저로 데이터베이스 플랫폼을 다루며, MySQL·PostgreSQL·Oracle·MongoDB와 SQL 튜닝, AWS·Terraform·Python을 전문 분야로 삼고 있습니다. 게임·금융·IT 서비스 분야의 경력을 바탕으로 데이터베이스와 클라우드 아키텍처를 설명합니다. 『오라클 실무튜닝 SQL 패턴 학습』과 『Oracle Pro*C 실무프로젝트 활용서』를 출간했으며, AWS Summit 2018·2019와 데이터야 놀자 2020에서 서버리스·데이터베이스 선택·멀티데이터베이스 전략을 발표했습니다. 최근에는 Bedrock LLM을 이용한 슬로우 쿼리 분석·튜닝 권고, DB 스펙 산정 자동화, DB 메타 MCP 서버와 Slack 봇을 통한 조회 흐름을 다루고 있습니다. 개발자를 위한 데이터베이스 자동화와 비개발자를 위한 AI 업무 활용을 각 과정의 대상과 목적에 맞는 실습으로 설명합니다. AI 제안을 그대로 적용하기보다 결과 동일성·실행 계획·관측 조건을 확인하고, 근거가 부족하면 보류하는 판단 기준을 전달합니다. 회사 운영 데이터와 인증값은 강의 자료에 포함하지 않습니다.

더보기

커리큘럼

전체

32개 ∙ (3시간 13분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

데이터장인님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩42

40%

₩90,200

평생교육이용권 지원 강의