스프링 리액티브 프로그래밍,3편 (Schedulers)

박주진·2021년 7월 25일
0

스프링 리액티브

목록 보기
3/4

해당 포스팅은 토비님의 스프링 리액티브 프로그램밍 라이브 코딩 동영상을 기반으로 내용을 바탕으로 정리한 글입니다.

스케줄러

  • 메인 쓰레드가 언제 일어날줄 모르는 이벤트를 blocking 방식으로 무한정 기다리는건 비효율적이다. 그래서 비동기로 효율적으로 처리 될 수 있도록 다른 쓰레드를 이용하거나 생성한다. 이를 스케줄러라 부른다.

스케줄러 종류

  • publishOn
    publisher(데이터 생성)는 빠르나 subscriber(데이터 사용)쪽의 작업이 느린 경우 subscriber를 별도의 쓰레드로 분리
    e.g) 데이터 가공/저장 작업이 느린경우 사용
  • subscribeOn
    publisher가 느리고 subscriber가 빠른경우 publisher를 별도의 쓰레드로 분리.
    e.g) 데이터 생성 작업이 너무 오래걸리거나 예측 불가인 경우 사용

동시에 사용하는 경우도 많이 있다.

예제 - https://github.com/JuJinPark/Reactive-Spring-Study/tree/main/src/main/java/com/example/reactivespringstudy/lesson3

0개의 댓글