-
5장 Reactor 개요Spring/Webflux 2023. 4. 22. 16:12
5.1 Reactor 란?
Reactor 의 특징
01. Reactive Streams
02. Non-Blocking
03. Java's functional API
04. Flux[N]
- 2개의 Publisher 중 하나, N 개의 데이터를 emit 함, 무한대 가능
05. Mono[0|1]
- 2개의 Publisher 중 하나, 한 건도 emit 하지 않거나, 단 한건만 emit 하는 단발성 데이터
06. Well-suited for microservices
07. Backpressure - ready network
Publisher 로 부터 전달 받은 데이터를 처리하는 데 있어 과부하 걸리지 않도록 제어하는 Backpressure 지원
5.2 Hello Reactor 코드로 보는 Reactor의 구성요소
public class Example5_1 { public static void main(String[] args) { Flux<String> sequence = Flux.just("Hello", "Reactor"); sequence.map(data -> data.toLowerCase()) .subscribe(data -> System.out.println(data)); } }
데이터 소스 : "Hello", "Reactor" 2개
Publisher : Flux.just("Hello", "Reactor");
Subscriber : .subscribe(data -> System.out.println(data));
Operator
just () : 데이터를 생성해서 제공하는 역할
map() : 데이터를 가공
3단계
1단계 : 데이터를 생성해서 제공
2단계 : 데이터 가공
3단계 : 전달 받은 데이터를 처리
'Spring > Webflux' 카테고리의 다른 글
7장 Cold Sequence 와 Hot Sequence (0) 2023.04.23 6장 마블 다이어그램 (1) 2023.04.22 4장 리액티브 프로그래밍을 위한 사전 지식 (0) 2023.04.22 3장 Blocking I/O 와 Non-Blocking I/O (0) 2023.04.21 2장 리액티브 스트림즈 (0) 2023.04.19