버퍼가 비워지는 시점
352
작성한 질문수 27
안녕하세요.
Backpressure의 Drop 전략에서 버퍼가 비워질 때까지 Emit된 데이터가 Drop이 된다는 것은 이해했습니다.
그런데 1번 데이터가 subscriber에게 전달되어서 처리가 되면 버퍼에 자리가 한 자리 비게 되는데 왜 데이터가 계속 Drop이 되는건가요? (코드 실습에서 onNext()함수가 호출이 되어도 255,256,257 ~ 1024까지 모두 드랍됨)
| 1, 2 | <-------- 3 듣랍
| 2, |. <-------- 4 드랍 (여기서 왜 4번 데이터는 안들어가나요?)
| 5, 6 |
Buffer DROP-LATEST를 보면
| 1, 2 | <---- 3들어오는 중 버퍼 가득 차서 drop
| 2, 4 | <------ 1번이 버퍼에서 나가고 한 자리가 비어서 4번이 들어와짐
이런식으로 동작을 하는데 Drop은 이렇게 동작하지 않는 것 같아 버퍼가 어떻게 동작하는지 궁금하여 질문드립니다.
답변 1
3
안녕하세요?
Backpressure 전략 중에서 Drop 전략에 대해 질문 주셨는데요.
Drop 전략의 경우, 버퍼 안의 데이터가 Subscriber에게 한개 전달되면, 버퍼 공간이 한개 비니까 한개의 데이터가 채워지는것이 아니라 전체 버퍼 중에 70-80 퍼센트 정도(정확한 비율은 나중에 확인 후 말씀드릴게요)가 한번에 비워진다고 보시면 될것 같습니다.
즉, 데이터 한개가 버퍼에서 비워지는 것이 아니라 버퍼가 가득찬 상태에서 Downstream이 데이터를 처리할 수 있는 상태가 될 때까지 Upstream에서 emit된 데이터는 Drop이 된다고 생각하시면 될것 같습니다.
subscription signal 에 upstream 으로 이동하는 순서
0
89
2
Webflux의 Non-Blocking 특성에 대해 문의 드립니다.
1
212
3
Downstream Mono, Flux가 subscriber인가요?
0
160
1
source.next와 source.emit의 차이에 대한 질문입니다.
0
214
2
StepVerifier를 이용한 Testing (1) - expectNoEvent 에 관해서
2
233
1
backpressure latest 전략
0
243
2
StepVerifier를 이용한 Testing (1) 의 StepVerifiter 질문
0
231
1
[Scheduler의 종류 강의] Schedulers.newParallel 메서드에 관한 질문
0
209
2
Backpressure Drop 전략에서 다시 버퍼가 채워지는 시점에 대한 질문입니다.
0
167
2
Reactor 3부의 오픈 일정에 관해서 문의드립니다!
0
173
1
inner sequence context 관련 질문
0
139
1
boundedElastic 관련 질문
1
321
1
강의자료 관련 질문드립니다.
0
250
3
newBoundedElastic 에서 queue 에 쌓이는 룰
0
215
2
import com.itvillage.utils.Logger;
0
149
1
Interceptor에서 reactor Context 유지하는 방법
0
282
2
예시코드는 webflux의 이점보단 webclient의 이점 아닌가요?
3
360
1
advancedTimeBy와 thenAwait 사용 예시가 궁금합니다
0
204
1
context의 read, write의 실행 순서
0
263
2
DROP 전략과 LATEST 전략의 차이점이 무엇인가요?
3
637
3
백프레셔 전략 관련해서
1
309
1
Backpressure Example 코드 질문드립니다
0
257
2
Backpressure 전략
0
306
2
Flux 와 Mono
0
463
1





