728x90
webflux에서 backpressure는 트래픽 통신 시에 과부하가 발생했을 때, 이를 처리하는 방식들을 말합니다.
publisher가 subscriber가 처리할 수 있는 양보다 더 많은 데이터를 송신했을 때, 이를 어떻게 처리할 것인지 에 대한 방식입니다.
처리방식
- subscriber가 처리할 수 있는 수준의 데이터 개수를 publisher에게 요청
- IGNORE 전략
- 아무것도 하지 않는다
- ERROR 전략
- 처리속도를 따라가지 못할 경우 IllegalStateException을 발생
- DROP전략
- 버퍼에 데이터가 가득 찰 경우, 버퍼 밖에서 대기 중 인 데이터 중 먼저 온 데이터 부터 drop(폐기)
- LATEST 전략
- 버퍼에 데이터가 가득 찰 경우, 버퍼 밖에서 대기 중 인 데이터 중에서 가장 나중에 온 데이터 부터 버퍼에 채움
출처: https://devfunny.tistory.com/914
[리액티브 프로그래밍] Backpressure의 개념과 Backpressure 전략
Backpressure 리액티브 프로그래밍에서의 배압, 즉 Backpressure은 Publisher가 끊임없이 emit하는 무수히 많은 데이터를 적절하게 제어하여 데이터 처리에 과부하가 걸리지 않도록 제어하는 것이다. Publish
devfunny.tistory.com
728x90
'JAVA' 카테고리의 다른 글
Jar 파일 (0) | 2024.02.29 |
---|---|
정적 V.S. 동적 (0) | 2024.02.27 |
클래스, 변수, 함수 정보 얻어오는 방법 Reflection package (0) | 2024.02.23 |
스프링(Spring)에서 자주 사용하는 Annotation 종류 (0) | 2024.02.22 |
가비지 컬렉션(Garbage Collection) 동작원리 (1) | 2024.02.01 |