-
백프레셔는 빠른 생산자에게 천천히 보내라고 말하는 구조입니다AI Agent 2026. 8. 4. 21:00728x90반응형

백프레셔는 처리기가 느릴 때 앞단의 속도를 조절해 시스템 전체가 무너지지 않게 합니다. 서버가 메시지를 초당 1,000개 만들 수 있는데 처리기는 초당 100개만 처리한다면, 처음 몇 초는 멀쩡해 보입니다.
큐가 버퍼 역할을 하기 때문입니다.
하지만 큐가 계속 쌓이면 메모리가 늘고, 지연이 커지고, 결국 장애는 엉뚱한 곳에서 터집니다.큐는 해결책이면서 경고등입니다
큐를 넣으면 순간적인 트래픽을 흡수할 수 있습니다.
하지만 큐 길이가 계속 증가한다면 그건 안정성이 아니라 빚입니다.
백프레셔는 이때 생산자에게 “지금은 천천히 보내라” 또는 “더 받지 않겠다”고 말하는 장치입니다.
속도 제한, 429 응답, 스트림 pause, 작업 거절이 모두 백프레셔의 표현입니다.드롭할 수 있는 일과 없는 일을 나눕니다
모든 작업을 끝까지 보존하려고 하면 시스템이 먼저 죽을 수 있습니다.
검색 자동완성 이벤트는 일부 버려도 됩니다.
결제 승인 요청은 버리면 안 됩니다.
로그도 보안 감사 로그와 디버그 로그는 다릅니다.
백프레셔 설계는 처리량 계산보다 먼저 “버릴 수 있는가”를 묻습니다.지표는 큐 길이보다 오래된 작업 나이입니다
큐에 1,000개가 쌓였다는 숫자만으로는 부족합니다.
1초 동안 쌓인 1,000개와 30분째 못 처리한 1,000개는 다릅니다.
그래서 저는 큐 길이와 함께 가장 오래된 작업의 나이, 처리율, 실패율을 같이 봅니다.
백프레셔는 성능 최적화가 아니라 장애가 번지는 속도를 줄이는 설계입니다.마지막으로 확인할 것은 하나입니다.
이 개념을 외웠는지가 아니라, 실패했을 때 어떤 상태가 남는지 설명할 수 있는지입니다.728x90반응형'AI Agent' 카테고리의 다른 글
캐시 무효화는 빠른 값을 저장하는 문제가 아니라 낡은 값을 버리는 문제입니다 (1) 2026.08.05 프롬프트는 규칙이 아니고, exit 1이 규칙이었다 (0) 2026.08.05 레이스 컨디션은 코드 순서가 아니라 실행 순서가 바뀌는 버그입니다 (0) 2026.08.04 멱등성은 같은 요청을 두 번 보내도 결과가 망가지지 않는 성질입니다 (0) 2026.08.04 주석엔 '검증함', 검증은 안 돼 있었다 (0) 2026.08.04