거꾸로 바라본 세상
[Srping Reactor] 리액티브 오퍼레이션
Spring 2023. 5. 2. 09:29

리액티브 오퍼레이션 Flux와 Mono는 리액터가 제공하는 가장 핵심적인 구성요소이며, 이 오퍼레이션들은 두 타입을 함께 결합하여 데이터가 전달될 수 있는 파이프라인을 생성한다. Flux와 Mono에는 500개 이상의 오퍼레이션이 있으며 각 오퍼레이션은 다음과 같이 분류된다. 생성(Creation) 오퍼레이션 조합(Combination) 오퍼레이션 변환(Transformation) 오퍼레이션 로직(Logic) 오퍼레이션 마블 다이어그램을 보려면 해당 사이트에 가면 볼 수 있다. (https://rxmarbles.com/#from) 1. 생성(Creation) 오퍼레이션 데이터를 생성하여 방출할 때 사용. 객체로부터 생성 Flux나 Mono로 하나 이상의 객체를 생성하려면 just() 메서드를 사용한다....

Spring Reactor 시작하기
Spring 2023. 5. 2. 09:27

Spring Reactor 리액티브 프로그래밍은 일련의 작업 단계를 기술하는 것이 아니라 데이터가 전달될 파이프라인을 구성하여 데이터가 전달되는 동안 어떤 형태로든 변경 또는 사용되는 것. 사람의 이름을 가져와 대문자로 변경 후 출력 String name = "devPaik"; String capitalName = name.toUpperCase(); String greeting = "Hello, "+ capitalName + "!"; System.out.println(greeting); Mono.just("devPaik") .map(n -> n.toUpperCase()) .map(cn -> "Hello," + cn + "!") .subscribe(System.out::println); 위와 같이 리엑티브..

[Spring] Reactive Stream 개요
Spring 2023. 5. 2. 09:22

리엑터 개요 애플리케이션 코드를 개발할 때 명령형(Imperative)과 리엑티브(Reactive) 두 가지 형태로 코드를 작성할 수 있다. 명령형 : 순차적으로 연속되는 작업이고, 각 작업은 한 번에 하나씩 그리고 이전 작업 다음에 실행한다. 데이터는 모아서 처리되고 이전 작업 데이터 처리를 끝낸 후에 다음 작업으로 넘어갈 수 있다. 리엑티브(반응형) : 데이터 처리를 위해 일련의 작업이 병렬로 실행될 수 있으며, 각 작업은 부분집합의 데이터를 처리할 수 있고, 처리가 끝난 데이터는 다음 작업에 남겨주고 다른 부분집합의 데이터로 계속 작업할 수 있다. 이런 리액터 프로젝트는 비동기 파이프라인을 구축할 때 콜백 지옥과 깊게 중첩된 코드를 생략하는 목적으로 설계되었다. 리액터 1.x는 배압조절 기능이 없다..