Spring/Webflux
-
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의 구성요소 ..
-
4장 리액티브 프로그래밍을 위한 사전 지식Spring/Webflux 2023. 4. 22. 13:13
1 함수형 인터페이스(Functional Interface) 함수형 인터페이스 역시 인터페이스 함수를 값으로 취급, 어떤 함수를 호출할 때 함수 자체를 파라미터로 전달할 수 있습니다 ?? 암호화 화폐를 unit 순서대로 sort 하는 예제 Collections.sort() 이용 Comparator 인터페이스 사용 public static void main(String[] args) { List cryptoCurrencies = SampleData.cryptoCurrencies; // unit 순서대로 sort Collections.sort(cryptoCurrencies, new Comparator() { @Override public int compare(CryptoCurrency cc1, CryptoC..
-
3장 Blocking I/O 와 Non-Blocking I/OSpring/Webflux 2023. 4. 21. 21:41
3.1 Blocking I/O 클라이언트 PC 본사 API : 지점 API 응답 기다리는 동안 blocking i/o 발생 지점 API 보완을 위해 멀티스레딩 기법 사용시 Context Switching 으로 인한 스레드 전환 비용 발생 PCB : Process Control Block 대기 중인 작업 저장소 Context Swithcing 01. 현재 실행되고 있는 프로세스 정보는 Cpu 의 레지스터에 저장되는데, 프로세스들이 번갈아가며 실행되는 과정에서 PCB 에 저장된 프로세스 정보가 레지스터에 지속적으로 저장되어, 그 값이 변경되는 것을 컨텍스트 스위칭 02. P1 끝나고 P2 가 바로 실행되는 것이 아니라 약간의 대기시간 존재 ; PCB에 정보 저장하거나 불러오는 시간 - 이 작업이 많을 수록 ..
-
2장 리액티브 스트림즈Spring/Webflux 2023. 4. 19. 09:01
스프링으로 시작하는 리액티브 프로그래밍 p39 2.1 리액티브 스트림즈란 데이터 스트림을 non-blocking 이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 p40 2.2 리액티브 스트림즈 구성요소 publisher : 데이터 생성 통지(발생,게시,방출) 역할 subscriber : 데이터를 받아서 처리하는 역할 subscription : publisher 에 요청할 데이터의 개수를 지정하고 구독을 취소하는 역할을 한다 processor : publisher 와 subscriber 의 기능을 모두 가지고 있다. 즉, subscriber 로서 다른 publisher 를 구독할 수 있고, publishe 로서 다른 subscriber 가 구독할 수 있다. p40 publisher..
-
Spring Webflux 공부하기 1Spring/Webflux 2023. 4. 18. 22:08
Official https://docs.spring.io/spring-framework/docs/5.2.6.RELEASE/spring-framework-reference/web-reactive.html#webflux Web on Reactive Stack The original web framework included in the Spring Framework, Spring Web MVC, was purpose-built for the Servlet API and Servlet containers. The reactive-stack web framework, Spring WebFlux, was added later in version 5.0. It is fully non-blocking, supports..