Scheduler란? Reactor에서 Scheduler는 비동기 프로그래밍을 위해 사용되는 스레드를 관리해 주는 역할 을 합니다. 다시 말하면, Scheduler를 사용하여 어떤 스레드에서 무엇을 처리할지 제어합니다. Scheduler를 위한 전용 Operator Reactor에서 Scheduler는 Scheduler 전용 Operator를 통해 사용할 수 있습니다. 앞서 사용했던 `subscribeOn()` 와 `publishOn()` Operator가 바로 Scheduler 전용 Operator입니다. subscribeOn( ) `subscribeOn( )` Operator는 구독이 발생한 직후 실행될 스레드를 지정하는 Operator 입니다. 구독이 발생하면 원본 Publisher가 데이터를 최초..
Reactor에서 사용되는 Siganl을 프로그래밍 방식으로 전송할 수 있는 Sinks에 대해 알아봅시다. Sinks란? Sinks는 앞서 설명했던, Processor 인터페이스의 기능을 개선한 것입니다. Sinks에 대해 Reactor API 문서에서는 다음과 같이 설명하고 있습니다. 첫 문장을 보면, "Sinks는 리액티브 스트림즈의 Signal을 프로그래밍 방식으로 push 할 수 있는 구조이며, Flux or Mono의 의미 체계를 가진다" 라고 설명하고 있습니다. 지금까지 설명했던 방식은 모두 Flux 또는 Mono가 onNext 같은 Signal을 (메서드 체이닝을 이용해서)내부적으로 전송해주는 방식이었는데, Sinks를 사용하면 프로그래밍 코드를 통해 명시적으로 Signal을 전송할 수 있습..
Reactor란? Reactor는 리액티브 스트림즈의 구현제 입니다. Spring WebFlux 기반의 리액티브 애플리케이션을 제작하기 위한 핵심 역할을 담당하고 있습니다. 쉽게 말해서 리액티브 프로그래밍을 위한 라이브러리라고 정의 할 수 있습니다. 따라서, Reactor Core 라이브러리는 Spring WebFlux 프레임워크에 라이브러리로 포함되어 있습니다. Reactor의 특징 아래 사진은 Reactor 공식 홈페이지의 메인 화면입니다. 이를 통해 Reactor가 어떤 특징들을 가지고 있는지 알아보겠습니다. Reactive Streams Reactor는 리액티브 스트림즈 사양을 구현한 리액티브 라이브러리입니다. Non-Blocking Reactor는 JVM 위에서 실행되는 Non-Blocking ..