반응형
1. Backpressure(배압) 현상 이란?
배압이란 데이터 생산(Producer)과 소비(Consumer)가 불균형적일 때 일어나는 현상이다.
만약 10,000개의 데이터를 0.1초마다 발행하고, 소비는 10초마다 한다면? 데이터는 스트림에 계속 쌓이게 된다.
이는 OutOfMemoryError(OOM)로 이어져 어플리케이션이 죽게 될 것이다.
이러한 현상을 배압(Backpressure)이라고 하며 RxJava에서는 배압 현상을 제어할 수 있는 방법을 제공한다.
2. 어디서 주로 발생?
생산자, 소비자 라는 내용이 이전 내용과 비슷하지 않은가? (대용량 처리, kafka 참고) 생산자가 reactive하게 데이터를 쌓고, 소비자가 이를 가져다가 사용하는 구조에서 주로 발생하게 된다.
※ 정리하면 non-blocking 방식으로 데이터를 보내는구조에서 발생
3. Backpressure를 예방하기 위한 전략
반응형
'프로그래밍 > 대용량 시스템에 대한 이해' 카테고리의 다른 글
kafka란? - 카프카 기초 다지기 1 (1) | 2023.02.19 |
---|---|
Kafka 설치 및 구동 방법 (0) | 2023.02.18 |
Message Queue란? (0) | 2023.02.18 |
2. 대용량 트래픽 처리 아키텍쳐 종류 (0) | 2022.10.23 |
1. DB(데이터 베이스)는 병목지점 (0) | 2022.10.23 |