Chatper05. Reactor 개요

김신영·2023년 7월 30일
0

Spring WebFlux

목록 보기
5/13
post-thumbnail
post-custom-banner

Reactor란?

1. Reactive Streams

  • Reactive Streams 사양을 구현한 리액티브 라이브러리

2. Non-Blocking

  • JVM 위에서 실행되는 Non-Blocking Application

3. Java’s Functional API

  • Publisher, Subscriber 간의 상호작용은 Java의 함수형 프로그래밍 API를 통해서 이루어 진다.

4. Flux[N]

  • Reactor의 Publisher 타입은 크게 2가지
    • Flux
      • 0부터 N개
      • 즉 무한대의 데이터를 emit 할 수 있다.
    • Mono

5. Mono[0|1]

  • 데이터를 한 건도 emit하지 않거나 단 한 건만 emit하는 단발성 데이터 emit에 특화된 Publisher

6. Well-suited for microservices

  • 마이크로 서비스 기반 시스템에 적합

7. BackPressure-ready Network

  • Reactor는 Publisher로부터 전달받은 데이터를 처리하는 데 있어 과부하가 걸리지 않도록 제어하는 Backpressure 를 지원한다.
  • Publisher로부터 전달되는 대량의 데이터를 Subscriber가 적절하게 처리하기 위한 제어 방법

Hello Reactor

Flux<String> sequence = Flux.just("Hello", "Reactor");
sequence.map(String::toLowerCase)
        .subscribe(System.out::println);
  • just
  • map
  • subscribe
  • 모두 Operator
profile
Hello velog!
post-custom-banner

0개의 댓글