백엔드 커리큘럼 심화: 운영용 상태 머신 설계, status 컬럼을 사고 방지 장치로 바꾸기
주문, 결제, 업로드, 배치, 이벤트 소비처럼 상태가 있는 백엔드 흐름을 단순 status 컬럼이 아니라 전이표·불변식·감사 로그·재처리 기준으로 설계하는 방법을 정리합니다.
주문, 결제, 업로드, 배치, 이벤트 소비처럼 상태가 있는 백엔드 흐름을 단순 status 컬럼이 아니라 전이표·불변식·감사 로그·재처리 기준으로 설계하는 방법을 정리합니다.
CSV·엑셀·JSONL 같은 대량 업로드를 동기 API로 처리하지 않고, import job·row error·멱등성·부분 성공·재처리 기준으로 운영하는 방법을 정리합니다.
기능 플래그를 안전한 릴리스 장치로 쓰되, 오래된 if문과 실험 토글이 운영 부채가 되지 않도록 생명주기, 만료 기준, 정리 자동화를 숫자 중심으로 정리합니다.
재고, 좌석, 쿠폰, 포인트처럼 먼저 잡아두고 나중에 확정하는 자원을 Reservation Ledger와 Expiry Worker로 안전하게 운영하는 기준을 상태 전이, TTL, 멱등성, 정산 관점에서 정리합니다.
메시지 큐에서 반복 실패하는 poison message를 무한 재시도하지 않고 격리·분류·안전 재처리하는 운영 기준을 DLQ, 멱등성, replay throttle, 승인 절차 중심으로 정리합니다.
존재하지 않는 키, 삭제된 리소스, 무작위 ID 조회가 캐시를 우회해 DB를 반복 타격하는 Cache Penetration 문제를 Negative Caching, Bloom Filter, TTL, rate limit 기준으로 설계하는 실무 플레이북입니다.
비동기 큐와 워커 풀에서 느린 작업 하나가 전체 처리 지연을 키우는 Head-of-Line Blocking과 Priority Inversion을 분리하고, 큐 격리·우선순위·동시성 예산·관측 지표를 숫자 기준으로 설계하는 방법을 정리합니다.
사용자가 넘긴 URL을 서버가 대신 호출해야 할 때 SSRF, 내부망 접근, 메타데이터 탈취를 막기 위해 URL 검증·DNS 재검증·egress proxy·감사 로그를 숫자 기준으로 설계하는 방법을 정리합니다.
API를 없애거나 바꿀 때 클라이언트 장애를 만들지 않도록 deprecation notice, sunset window, 호환성 게이트, 관측 지표를 숫자 기준으로 운영하는 방법을 정리합니다.
비동기 작업 큐에서 대형 테넌트, 느린 작업, poison job이 전체 워커를 점유하지 않도록 workload-aware partitioning, fair scheduling, worker pool 격리 기준을 숫자 중심으로 정리합니다.