[Reactive] 05. Reactor 개요

Jimin Lim·2024년 3월 9일
0

Spring

목록 보기
12/18
post-thumbnail
post-custom-banner

5.1 Reactor란?

  • Reactor: 리액티브 스트림즈의 구현체, Spring WebFlux에 라이브러리로 포함되어 있음

리액터 특징은 다음과 같다.

  1. Recative Streams: 리액티브 스트림즈 사양을 구현함
  2. Non-Blocking
  3. Java's functional API: Publisher, Subscriber 간의 상호 작용이 함수형 api 로 이루어짐
  4. Flux[N]: N 개의 데이터를 emit 할 수 있음
  5. Mono[0|1]: 0또는1개의 데이터 emit
  6. Well-suited for microservices
  7. 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));
    }
}
  • Publisher: Flux, 입력으로 들어오는 데이터 제공. 여기서는 "Hello", "Reactor" 두개 이므로 Flux 사용
  • Subscriber: subscribe 파라미터인 람다함수 print
  • Operator: just, map
    • just: 데이터 생성해서 제공
    • map: 전달받은 데이터 가공
profile
💻 ☕️ 🏝 🍑 🍹 🏊‍♀️
post-custom-banner

0개의 댓글