분류

장애·확장

타임아웃·재시도·캐시·트래픽 급증처럼 서비스가 커질 때 무너지는 지점과 버티는 법을 모았어요.

23편 · 마지막 글 2026.10.16

장애·확장 글

23편 중 1–12

  1. AI 는 파이썬으로 짜는데 인프라는 왜 Rust 로 가나

    요즘 AI 쪽에서 파이썬 코드 밑을 Rust 로 바꾸는 경우가 부쩍 많아졌어요. 모델은 여전히 파이썬으로 짜는데 왜 그 속만 갈아 끼우는지, 나는 언제 Rust 를 꺼내면 되는지 정리했어요.

    7분#백엔드#AI#Rust#파이썬
  2. 장애 대비 체크리스트 — 트래픽보다 의존성부터

    실제로 겪은 장애를 돌아보니 트래픽 때문에 무너진 건 거의 없었어요. 결제사 지연, 인증서 만료, 설정 실수 같은 것들이었죠. 대비의 무게를 의존성 쪽으로 옮기는 체크리스트를 정리했어요.

    4분#백엔드
  3. 클라우드 청구서가 예상의 3배일 때 — 요청당 원가와 비용 지표

    장애도 없고 트래픽도 계획대로인데 월말 클라우드 청구서가 예상의 세 배로 나왔어요. 알림 하나 없이요. 비용이 어디서 새는지 찾고, 매일 보는 숫자로 바꾸는 방법을 알 수 있어요.

    4분#백엔드
  4. 부하 테스트는 통과했는데 운영에서 무너지는 6가지 이유

    출시 전 부하 테스트에서 목표의 세 배를 버텼는데, 실제로는 목표치에서 무너졌어요. 테스트가 틀린 게 아니라 조건이 달랐던 거예요. 시험에서 빠지기 쉬운 여섯 가지 조건과 넣는 법을 정리했어요.

    4분#백엔드
  5. 앱 서버를 늘려도 안 빨라진다 — 병목은 DB 한 대

    트래픽이 늘어 앱 서버를 두 배로 늘렸는데 처리량은 그대로고 응답은 오히려 나빠졌어요. 앱 서버는 놀고 DB 만 100% 고요. 늘려도 안 되는 이유와 DB 부담을 덜어 내는 순서를 알 수 있어요.

    4분#백엔드
  6. 분산 환경의 레이트 리밋은 경합한다

    초당 100회로 걸어 둔 제한이 서버를 다섯 대로 늘리자 500회가 됐어요. 한곳에 모아 세니 이번엔 그게 병목이 되고요. 여러 서버에서 횟수를 셀 때 정확함과 속도 중 무엇을 고를지 정리했어요.

    5분#백엔드
  7. 백프레셔가 없으면 메모리가 먼저 죽는다

    큐에 쌓아 두면 언젠가 다 처리될 줄 알았는데, 유입이 넘친 날 서버가 메모리 부족으로 줄줄이 죽었어요. 쌓인 것도 전부 잃었고요. 못 받을 때 못 받는다고 알리는 장치를 정리했어요.

    4분#백엔드
  8. 핫 키 하나가 샤드 전체를 태운다

    샤드를 고르게 나눴는데 프로모션 상품 하나 때문에 한 샤드만 CPU 100% 가 됐어요. 나머지는 20% 인데요. 샤드를 늘려도 안 풀리는 이유와 인기 키 하나를 여러 곳으로 나누는 법을 알 수 있어요.

    4분#백엔드
  9. 오토스케일링은 트래픽 급증을 못 막는다 — 몇 분을 버티는 법

    방송에 소개된 날 트래픽이 1분 만에 열 배가 됐어요. 오토스케일은 제대로 움직였지만 서버가 늘기까지 몇 분 동안 서비스는 죽어 있었고요. 그 몇 분을 버티는 준비를 알 수 있어요.

    8분#백엔드
  10. DB 페일오버했는데 앱이 옛 주소로 붙는다 — DNS 캐시

    주 DB 가 죽고 대기 서버가 몇 초 만에 승격됐는데도 서비스는 계속 죽어 있어요. 앱이 여전히 옛 주소로 붙고 있었거든요. 전환 사실이 앱까지 늦게 닿는 경로와 그 시간을 줄이는 법을 정리했어요.

    4분#백엔드
  11. 트래픽이 넘칠 때 빨리 거절하기 — 부하 흘리기와 동시성 제한

    트래픽이 세 배로 몰리자 서버는 살아 있는데 응답이 30초를 넘어요. 사용자는 이미 떠났는데 서버는 그 요청을 성실히 처리하고 있고요. 일부를 빨리 거절해 나머지를 살리는 방법을 담았어요.

    9분#백엔드
  12. DB 와 검색 엔진이 어긋날 때 — 이중 쓰기 대신 아웃박스 패턴

    DB 에는 있는 주문이 검색에서는 안 나오는데, 에러 로그엔 아무것도 없어요. 두 곳에 따로 쓰면 언젠가 어긋나거든요. 왜 조용히 어긋나는지, 한 곳에만 쓰고 나머지가 따라오게 하는 법을 정리했어요.

    4분#백엔드