반응형

Backpressure 2

[WebFlux] Backpressure란? – 리액티브 데이터 흐름 제어의 핵심

Backpressure(배압)는 리액티브 프로그래밍에서 데이터 생산자(Publisher)와 소비자(Subscriber) 간의 흐름 제어 메커니즘입니다. 시스템이 데이터 과부하를 방지하고 안정성을 보장하기 위해 반드시 이해해야 하는 개념입니다. 1. Backpressure가 필요한 이유 문제 상황빠른 Publisher vs 느린 SubscriberPublisher가 초당 10,000개 데이터를 emit하는데, Subscriber가 초당 100개만 처리 가능 → 처리되지 않은 데이터가 쌓이면서 메모리 오버플로우 발생 가능 해결 방안역압 적용: Subscriber가 처리 가능한 만큼만 데이터 요청"1개 처리 완료 → 다음 1개 요청" 방식으로 시스템 과부하 방지 2. Reactor의 Backpressure..

리액티브 스트림즈(Reactive Streams) 핵심 정리

리액티브 스트림즈는 비동기·논블로킹 환경에서 데이터 스트림을 처리하기 위한 표준 사양으로, 대규모 트래픽 처리와 시스템 효율성 향상에 기여합니다.1. 주요 용어▷ SignalPublisher와 Subscriber 간 주고받는 상호작용 메시지 (예: onNext, onComplete).데이터 상태/이벤트를 전달하는 신호.▷ DemandSubscriber가 요청했으나 아직 처리되지 않은 데이터의 양.▷ EmitPublisher가 onNext를 통해 데이터를 발행하는 행위.▷ Upstream/DownstreamUpstream: 현재 메서드보다 상위의 데이터 소스 (예: just → filter에서 just는 Upstream).Downstream: 하위 처리 단계 (예: filter → map에서 map은 Do..

반응형