작업 스케줄러 설계 — 하루 1억 건 비동기 작업을 지연 없이 처리하는 법
한 줄 요약: 작업 스케줄러의 핵심은 Kafka 파티셔닝으로 처리량을 수평 확장하고, Redis Sorted Set으로 지연 실행을 마이크로초 단위로 제어하며, 분산 락으로 크론 중복 실행을 원천 차단하는...
한 줄 요약: 작업 스케줄러의 핵심은 Kafka 파티셔닝으로 처리량을 수평 확장하고, Redis Sorted Set으로 지연 실행을 마이크로초 단위로 제어하며, 분산 락으로 크론 중복 실행을 원천 차단하는...
한 줄 요약: 스트리밍 플랫폼의 핵심은 RTMP 인제스트 → DAG 트랜스코딩 → 멀티 CDN HLS/DASH 배포의 3단 파이프라인으로 1억 시청자를 감당하고, Redis HyperLogLog·Sorte...
한 줄 요약: 정산 시스템의 핵심은 정확성과 감사 가능성(Auditability)이다. float 한 줄, 배치 한 번의 실수가 수천 셀러에게 1원씩 빠지는 사고로 이어진다. 모든 돈의 흐름에는 검증 가능...
한 줄 요약: 셀러 관리 시스템의 핵심은 입점 심사 자동화로 운영 병목을 없애고, 스코어링 엔진으로 셀러 품질을 실시간 추적하며, 정산 파이프라인으로 분쟁을 원천 차단하는 것이다.
한 줄 요약: 반품·환불은 주문의 역방향이 아니다. 금액 분배, 재고 복원, 물류 수거, 어뷰징 탐지까지 독립적으로 설계해야 하루 10만 건을 실수 없이 처리할 수 있다.
한 줄 요약: 프로모션·동적 가격 시스템의 핵심은 룰 엔진으로 할인 충돌을 우선순위 기반으로 해소하고, 이벤트 소싱으로 가격 이력을 불변 보존하며, CDC 파이프라인으로 검색·목록·상세 페이지 전체에 가격...
한 줄 요약: 메트릭 파이프라인은 수집 에이전트가 데이터를 밀어 넣고, Kafka가 폭발을 흡수하며, 시계열 DB가 압축 저장하고, 알림 엔진이 이상을 감지하는 4계층 구조다. 각 계층이 독립적으로 확장 ...
한 줄 요약: 멤버십 시스템의 핵심은 구매 이벤트를 소싱해 등급을 실시간으로 산정하고, 포인트 원장을 이중 원장 구조로 관리해 잔액 불일치를 원천 차단하며, 혜택 엔진을 룰로 분리해 배포 없이 정책을 바꾸...
한 줄 요약: 풀필먼트 시스템의 핵심은 세 가지다. 주문 할당 엔진으로 올바른 센터를 고르고, 피킹 최적화로 창고 이동 거리를 줄이며, 재고 실시간 동기화로 “있다고 표시된 물건이 실제로 있음”을 보장한다...
한 줄 요약: 사기 탐지는 속도와 정확도의 트레이드오프가 아니라, 룰 엔진으로 명백한 사기를 0ms에 차단하고, ML 스코어링으로 모호한 거래를 판정하며, 피드백 루프로 날마다 더 영리해지는 레이어드 방어...
한 줄 요약: 분산 락의 핵심은 “원자성”과 “소유권 증명”이다. SET NX 한 줄로 락을 걸 수 있지만, 잘못 설계하면 10만 TPS 트래픽 앞에서 이중 결제, 재고 음수, 중복 배송이 동시에 터진다....
한 줄 요약: API Gateway는 단순한 리버스 프록시가 아니라, 인증·Rate Limit·Circuit Breaker·변환을 한 곳에 응집시켜 수백 개의 마이크로서비스를 클라이언트로부터 격리하는 시스...
한 줄 요약: 커머스 광고 플랫폼의 핵심은 후보 선별 → 입찰 → 랭킹 3단계 서빙 파이프라인으로 50ms 내 응답하고, Redis 원자 차감으로 예산 초과를 막으며, 스트리밍 클릭 집계로 광고주에게 실시...
한 줄 요약: 인증/인가 시스템의 핵심은 Access Token의 수명을 짧게 유지하고, Refresh Token을 Rotation시키며, 탈취 시 즉시 무효화할 수 있는 블랙리스트 체계를 갖추는 것이다.
한 줄 요약: 비로그인 임시 장바구니를 Redis에 보관하고, 로그인 시 병합 전략(수량 합산 vs 로그인 우선)으로 충돌을 해소하며, 재고는 결제 시점에만 잠그는 것이다.
한 줄 요약: 리뷰 시스템의 핵심은 베이지안 평균으로 소수 리뷰의 왜곡을 막고, Wilson Score로 유용한 리뷰를 정렬하며, 하이브리드 스팸 탐지 파이프라인으로 가짜 리뷰를 걸러내는 것이다.
한 줄 요약: 추천 시스템의 핵심은 협업 필터링으로 숨겨진 취향을 발굴하고, 2단계 파이프라인(후보 생성 → 정밀 랭킹)으로 수억 개 상품을 100ms 안에 걸러내며, 콜드 스타트와 인기 편향을 동시에 해...
한 줄 요약: 쓰기는 RDB로 정확하게, 읽기는 Elasticsearch와 Redis로 빠르게 분리하고, 멀티테넌트 구조로 수백만 셀러의 상품을 격리하면서 단일 검색 인덱스로 통합 제공한다.
한 줄 요약: 시니어는 “무엇을 쓰느냐”가 아니라 “왜 쓰느냐”를 설명한다. MySQL을 고른 이유, Saga를 고른 이유, CQRS를 고른 이유 — 모든 결정에 WHY가 있어야 면접을 통과한다.
한 줄 요약: MySQL은 ACID로 재고 불변식을 강제하고, Redis는 원자 DECR로 동시 차감 경쟁을 차단하며, Kafka는 비동기 분리로 확정 지연을 흡수한다. 세 계층이 각자의 역할을 맡아야 초...
한 줄 요약: 배송 시스템의 핵심은 실시간 위치 추적으로 고객 불안을 제거하고, 최근접 창고 선택으로 리드타임을 단축하며, 이벤트 소싱으로 배송 상태 이력을 완전하게 보존하는 것입니다.
한 줄 요약: 쿠폰 시스템의 핵심은 Redis 원자 연산으로 초과 발급을 막고, 룰 엔진으로 할인 조합을 유연하게 계산하며, 멀티 어카운트 어뷰징을 사전에 차단하는 것이다.
한 줄 요약: 채팅 시스템은 WebSocket으로 양방향 실시간 연결을 유지하고, Kafka로 서버 간 메시지를 라우팅하며, Cassandra로 수 페타바이트 메시지를 저장한다. 각 선택에는 “왜 이것이어...
한 줄 요약: 위치 기반 서비스의 핵심은 Geohash로 2차원 좌표를 1차원 문자열로 변환하여 B-Tree 인덱스로 근접 검색하고, Redis + Pub/Sub로 라이더 위치를 실시간 전파하는 것이다.
블랙프라이데이 자정, 쿠팡이 1억 명에게 동시에 “특가 시작!” 푸시를 보낸다. 10초 안에 전달되어야 한다. 단일 서버가 APNs와 FCM을 1억 번 직접 호출하면 서버는 즉시 죽는다. 알림 하나를 보내는 것...
한 줄 요약: 시스템 디자인 면접의 핵심은 컴포넌트 나열이 아니라 “왜 이 선택인가”를 요구사항에서 논리적으로 도출하는 것이다. 암기가 아니라 사고 과정을 보여줘야 시니어 면접관을 설득할 수 있다.
한 줄 요약: 분산 파일 저장소의 핵심은 파일을 4MB 블록으로 쪼개 SHA-256 해시로 중복을 제거하고, 메타데이터 DB로 블록 조각을 추적하며, SSE/WebSocket으로 여러 디바이스에 변경을 실...
한 줄 요약: YouTube의 핵심은 업로드된 영상을 DAG 기반 트랜스코딩 파이프라인으로 해상도별 분할 처리하고, HLS/DASH ABR로 네트워크 상황에 맞게 스트리밍하며, 글로벌 CDN으로 지연시간을...
BTS가 인스타그램에 사진을 올리는 순간, 7000만 팔로워의 피드가 업데이트되어야 한다. 7000만 건의 캐시 업데이트를 동기로 처리하면? 게시글 저장에 수십 분이 걸린다. 반대로 아무것도 하지 않으면? 팔로...
한 줄 요약: 결제 시스템의 핵심은 세 가지다. 멱등성 키로 이중 결제를 원천 차단하고, 복식부기로 1원 단위 자금 무결성을 보장하며, PG 추상화 레이어로 벤더 장애를 투명하게 폴백한다. 이 세 가지를 ...
구글에 “파이썬 머신러닝”을 검색하면 수천억 개의 웹페이지 중에서 관련 결과가 100ms 안에 나온다. 단순히 “파이썬”과 “머신러닝”이 들어간 페이지를 하나씩 뒤지면? 전 세계 서버를 동원해도 수십 년이 걸린...
트위터가 140자 제한이었던 시절, https://www.example.com/very/long/path?campaign=summer&source=newsletter&medium=email 같은 ...
2023년 새벽 3시, 한 스타트업의 API가 다운됐다. 경쟁사 봇이 초당 5만 건을 보냈고, DB 커넥션 풀이 고갈되며 서비스 전체가 멈췄다. Rate Limiter가 있었다면 IP당 초당 100건 제한으로 ...
2024년 블랙프라이데이, 아마존의 DynamoDB는 초당 1억 건 이상의 요청을 처리했다. Redis는 단일 노드에서 초당 100만 QPS를 넘긴다. 이 숫자들이 가능한 이유는 단순한 “빠른 하드웨어” 때문이...