backpressure는 데이터가 소비되는 속도보다 빠르게 생산될 때 일어나는 현상입니다. stream에서 빠른 readable 소스가 느린 writable 목적지로 데이터를 밀어 넣으면, 소비되지 못한 데이터가 메모리에 버퍼링되며 — 처리하지 않으면 그 버퍼가 메모리가 고갈될 때까지 커집니다. backpressure는 생산자와 소비자를 균형 있게 유지하는 메커니즘(이자 규율)입니다.
문제
Fast source ──(1 GB/s)──▶ Slow destination (10 MB/s write speed)
▲
The 990 MB/s difference piles up in a memory buffer → OOM crash
예: 거대한 파일을 빠르게 읽어 느린 네트워크 소켓이나 디스크에 쓰는 경우 — 목적지의 속도를 존중하지 않으면 메모리가 부풀어 오릅니다.
