Backpressure는 어디서 시작되고 어떻게 전파되는가

백프레셔는 갑자기 생기지 않는다
Backpressure는 어디서 시작되고 어떻게 전파되는가
- 대부분의 장애는 백프레셔 전파 과정
- 실제 장애는 DB, API, Cache 중 하나에서 시작
- 큐가 쌓이는 것은 결과일 뿐 원인이 아니다
백프레셔가 시작되는 첫 번째 지점
1. Database가 느려지는 순간
가장 흔한 시작점
- Slow Query 증가
- Lock 경합 발생
- Connection Pool 부족
실제 현상
- Consumer 처리 시간 증가
- Queue 적체 시작
- Latency 상승
2. 외부 API 응답 시간이 늘어나는 순간
장애는 우리 시스템 밖에서 시작된다
- 결제 API
- 인증 API
- 파트너 API
발생 과정
- Timeout 증가
- Retry 발생
- Worker 점유 증가
3. Cache Miss 폭증
예상보다 자주 발생하는 원인
- Redis 장애
- Cache Eviction
- TTL 설정 오류
전파 과정
- DB 조회 증가
- Connection Pool 고갈
- Queue 처리량 감소
백프레셔는 어떻게 전파되는가
Step 1 : Worker 처리 속도 감소
- 처리량 감소
- 평균 처리 시간 증가
Step 2 : Queue 적체 발생
- Consumer보다 Producer가 빨라짐
- Queue Depth 증가
Step 3 : Producer 지연 발생
- Queue Write 지연
- Publish 실패 증가
Step 4 : API Latency 증가
사용자가 가장 먼저 체감하는 구간
- 응답 시간 증가
- Timeout 발생
- 재시도 증가
Step 5 : 장애 확산
가장 위험한 단계
- Retry Storm
- Cascading Failure
- 전체 시스템 장애
운영자가 가장 많이 하는 실수
Queue를 원인으로 착각한다
실제 원인
- DB
- Cache
- External API
Queue는 단지 증상인 경우가 많다.
Consumer를 무작정 늘린다
발생하는 문제
- DB 부하 증가
- Lock 증가
- API 호출 증가
결과적으로 장애 확산
백프레셔를 가장 빨리 발견하는 방법
Queue 길이보다 먼저 봐야 할 지표
Latency
- P95
- P99
Consumer 처리 시간
- Average Processing Time
- Max Processing Time
Retry Rate
- Retry Count
- Timeout Rate
실제 운영 환경에서 가장 효과적이었던 대응
Rate Limit 적용
- 추가 유입 차단
Queue 우선순위 분리
- 핵심 작업 보호
Circuit Breaker 활성화
- 장애 전파 차단
DLQ 활용
- 실패 작업 격리
결론
- 백프레셔는 Queue에서 시작되지 않는다.
- 대부분 Database, Cache, External API 같은 다운스트림 리소스에서 시작된다.
- Queue 적체는 원인이 아니라 결과인 경우가 많다.
- 운영자가 해야 할 일은 Queue 길이를 보는 것이 아니라 백프레셔가 최초로 발생한 지점을 찾는 것이다.
- 백프레셔의 전파 경로를 이해하는 순간 장애 대응 속도는 크게 달라진다.
이 구성은 사용자가 원래 원하던 “자동화 플랫폼 엔지니어링 블로그” 방향에 가장 가깝습니다.
검색 유입도 “백프레셔 뜻”보다 “Queue 적체”, “Latency 증가”, “Retry Storm”, “Cascading Failure” 같은 운영 키워드를 함께 잡을 수 있습니다.
함께 보면 좋은 글




댓글 0
첫 댓글을 남겨보세요.