반응형

subscriber 2

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

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

[WebFlux 심층 분석] 리액티브 스트림즈 컴포넌트 구현 및 Kafka와의 비교

리액티브 스트림즈는 비동기적이고 Non-Blocking 방식의 데이터 처리를 위한 표준입니다. 이 글에서는 리액티브 스트림즈의 주요 컴포넌트 구현과 Apache Kafka와의 차이점을 살펴보겠습니다. 리액티브 스트림즈 주요 컴포넌트Publisherpublic class MyPublisher implements Publisher { private final List> subscribers = new ArrayList(); @Override public void subscribe(Subscriber subscriber) { subscribers.add(subscriber); subscriber.onSubscribe(new MySubscription(subscriber..

반응형