SpringWebflux 학습내용 정리 (9)
in Study
Spring Webflux
Reactor에서 시퀀스를 생성하는 퍼블리셔는 Flux와 Mono가 있다
- onNext, onComplete 같은 시그널을 내부적으로 발생시킴, 프로그래밍적인 코드가 보이지 않음
- 내부적으로 알아서 처리함
- Sinks는 이러한 시그널을 프로그래밍적으로 전송할 수 있는 퍼블리셔의 한 종류
- Processor보다 나은 대안이 된다 -> Thread-Safe 하기 때문
- Reactor 3.5.0부터 processor는 제거됨
Reactor에서 Scheduler는 Thread를 관리하는 관리자 역할
- 구독시점에 데이터가 emit되는 영역과 와 emit된 데이터를 operator를 이용해 가공하는 영역을 분리하여 멀티쓰레딩을 가능하게 함
- operator chain에서 스케줄러를 전환하는 역할
- Scheduler를 통해 생성된 스레드 실행모델을 지정하는 부분
- PublishOn operator
- 이하 downStream operator들을 지정된 스레드에서 실행하게 된다
- subScribeOn operator
- 최상위 Upstream publisher 가 데이터를 emit하기 위한 실행스레드를 지정하게 된다
- parelle() operator
- downStream에 대한 데이터처리를 병렬로 분할 처리하기 위함
- Scheduler.pararell()의 스레드 갯수는 CPU에서 지원하는 논리적인 코어와 연관있다