728x90
명령형과 선언형 프로그래밍 구조 비교
명령형 프로그래밍 : 위에서 아래로 코드가 순차적으로 동작
선언형 프로그래밍 : Stream처럼, 중간연산은 메서드 체인을 걸어두고, 최종연산이 호출될 때 코드가 동작
리액티브 프로그래밍 기본 구조
package com.codestates.example;
import reactor.core.publisher.Mono;
// 리액티브 프로그래밍 기본 구조
public class HelloReactiveExample02 {
public static void main(String[] args) {
Mono // Publisher
.just("Hello, Reactive") // 중간연산
.subscribe(message -> System.out.println(message)); // 최종연산(Subscribe(Subscriber()))
}
}
WebFlux 기본 구조
1. Publisher : 데이터를 내보내는(emit) 주체
2. Operator : 중간 메서드
3. Subscribe : 최종 연산 메서드
4. Subscriber : emit된 데이터를 소비하는 주체
5. Emit : 데이터를 내보내는 행위
6. Signal : Publisher가 발생 시키는 이벤트. 데이터의 변화. 'emit이 발생했다'도 일종의 이벤트
7. Sequence : Operator 체인으로 표현되는 데이터의 흐름
8. Upstream / Downstream : 특정 Operator를 기준으로 위쪽 Sequence는 Upstream / 아래쪽 Sequence는 Downstream
728x90
'Codestates [Back-end] > 데일리 로그 [TIL]' 카테고리의 다른 글
22.10.12 Spring WebFlux - 스케줄러 (0) | 2022.10.13 |
---|---|
22.10.12 Spring Webflux - ProjectReactor / 마블 다이어그램 (0) | 2022.10.12 |
22.10.12 Spring WebFlux - 개념 / 인터페이스 코드 (0) | 2022.10.12 |
22.10.11 Cloud 운영 전략 - 웹 서버 (TOMCAT / Jetty / Nginx / Load balancer) (0) | 2022.10.11 |
22.10.11 Cloud 운영전략 - 프록시 서버 / 로드 밸런서 / 오토 스케일링 (0) | 2022.10.11 |