Spring/WebFlux

    Reactive Streams 에 대해 알아보자!

    Spring Webflux 공식 문서에서 Reactive Streams에 대해 자주 언급됩니다. 그 이유는 Spring Webflux에서 Reactive Streams의 구현체인 Reactor라는 reactive library를 사용하기 때문입니다. Webflux의 동작 구조를 이해하기 위해 Reactive Streams에 대해 알아보고자 합니다. Reactive Streams? Reactive Streams는 공식 홈페이지인 reactive-streams.org에서 다음과 같이 정의하고 있습니다. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pr..

    WebFlux 에 대해 알아보자!

    WebFlux 란? WebFlux는 확장 가능하고 효율적인 reactive 스타일의 웹 애플리케이션을 구축하기 위해서 Spring Framework 5 에서 새롭게 추가된 모듈로, Reactor 라이브러리를 사용하여 reactive programming을 지원하도록 설계되었다. WebFlux 의 등장 배경 기존의 Monolithic Architecture 환경에서는 Thread Pool을 사용해 동기식 프로그래밍의 blocking을 감당할 수 있었고, 단일 애플리케이션 내부에서 정보 교환이 일어나기 때문에 blocking 되는 시간이 길지 않았다. 이러한 Monolithic Architecture 에서 하나의 큰 서비스가 작은 단위의 독립된 모듈로 쪼개지는 MSA Architecture 방식으로 바뀌면서..