inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

Backpressure Example 코드 설명

버퍼가 비워지는 시점

352

jhjikhsdsdw

작성한 질문수 27

1

안녕하세요.

 

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은 이렇게 동작하지 않는 것 같아 버퍼가 어떻게 동작하는지 궁금하여 질문드립니다.

 

 

 

 

java spring project-reactor webflux

답변 1

3

Kevin

안녕하세요?

Backpressure 전략 중에서 Drop 전략에 대해 질문 주셨는데요.

Drop 전략의 경우, 버퍼 안의 데이터가 Subscriber에게 한개 전달되면, 버퍼 공간이 한개 비니까 한개의 데이터가 채워지는것이 아니라 전체 버퍼 중에 70-80 퍼센트 정도(정확한 비율은 나중에 확인 후 말씀드릴게요)가 한번에 비워진다고 보시면 될것 같습니다.

즉, 데이터 한개가 버퍼에서 비워지는 것이 아니라 버퍼가 가득찬 상태에서 Downstream이 데이터를 처리할 수 있는 상태가 될 때까지 Upstream에서 emit된 데이터는 Drop이 된다고 생각하시면 될것 같습니다.

1

denia park

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