본문 바로가기

java

reactive

 

RestTemplate 대체하여 Webclient 를 알아보니 WebFlux, Reactive Streams, Project Reactor, Async,  Netty, NIO, Non-Blocking, Event-Driven, Mono/Flux, Pull, Push, Stream API, Tomcat, Servlet 3.0 이 줄줄이 엮여 있다. 

 

습득은 구글링 쭉하고, 백기선님 Webflux 유투브 강의가 도움이 많이 되었다. Webflux와 관련된 도서는 하나 찾았는데 역시 공식 레퍼런스가 가장 좋을 것 같다. 

 

javascript의 event-driven은 이해를 매우 쉽게 했는데, 이 개념이 서버로 오면서 나는 이해가 좀 많이 힘들다.

최종적으로 리턴되는 response에선 blocking 이 되어야 한다는 고정관념 때문인 것 같다. 

 

Stream API 와 Project Reactor의 차이도 데이터의 프로세싱이 목적으로 보이고 Reactor 가 제공하는 on* 가 Event-Driven 이며 프로세스의 흐름에 관여할 수 있다는 것인데 javascript 에서 이미 익숙한 개념임에도 서버에 적용하려니 여러가지 맞물려 복잡하다. 

 

Reactor 가 꼭 Webflux 하고 조합할 필요가 있을까

Webflux Router Pattern 은 카카오페이에서 본 패턴이라 반가웠고

역시 코딩을 해보면서 시행착오를 겪어야 나의 것이 되고

이런거 저런거 다 무시하고 깔끔하게 그려려니 하고 받아들이고 싶기도 하고

지식의 깊이가 깊어 다 이해하며 개발하고 싶다. 

 

 

 

 

'java' 카테고리의 다른 글

Future, CompletableFuture, Reactor 병렬 간단 비교  (0) 2021.01.29
SpringFramework - Injection  (0) 2020.12.24
spring batch  (0) 2020.03.08
Optional  (0) 2019.12.10
Java8 FunctionalInterface + Lambda  (0) 2019.11.15