Web Reactive

개요

스프링 WebFlux는 5.0 버전부터 추가된 리액티브 스택 웹 프레임워크로서, 서블릿 API와 서블릿 컨테이너를 개발하기 위한 스프링 프레임워크이다.
스프링 웹 MVC를 포함한 기존의 웹 프레임워크와 달리 완전한 논블로킹으로 동작하며 Reactive Streams back pressure를 지원하고 Netty, Undertow, 서블릿 3.1+ 컨테이너 서버에서 실행된다.
웹 프레임워크 모두 스프링 프레임워크에 포함되어 있으며, 원하는 모듈을 선택하여 개발할 수 있다.

설명

Spring WebFlux 정의

스프링 5.0 버전부터 추가된 비동기 프로그래밍으로 Reactive-Stack을 통한 Async Non-Blocking 지원하며 서비스 간의 호출이 많은 마이크로서비스 아키텍처에 적합한 프레임워크이다.

주요 개념
  • Reactive : 마우스 이벤트에 반응하는 UI 컨트롤러 혹은 I/O 이벤트에 반응하는 네트워크 구성 요소와 같이 변경에 반응하는 프로그래밍 모델
  • Reactive Streams : backpressure가 있는 비동기 컴포넌트간의 상호 작용을 정의하는 소규모 사양
  • Reactor : Spring WebFlux에서 사용되는 Reactive Library이면서 Reactive Streams의 구현체
  • Non-Blocking I/O : 주로 I/O의 읽기, 쓰기에서 사용되는 용어로 Blocking는 요청한 작업이 마칠 때까지 대기하는 상태이고 Non-Blocking는 요청한 작업이 즉시 마칠 수 없다면 즉시 Return 하는 상태임
  • Asynchronous : 작업완료 여부를 호출한 함수가 기다리거나 스스로 확인하는 방식이 동기방식이고 호출되는 함수에게 callback을 전달하고 완료되면 호출되는 함수가 callback을 실행하는 방식
  • Netty : 프로토콜 서버 및 클라이언트와 같은 네트워크 응용 프로그램을 빠르고 쉽게 개발할 수 있는 NIO(Non-Blocking Input Ouput) 클라이언트 서버 프레임워크

참고자료

 
egovframework/rte4.1/ptl/web_reactive.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki