Reactor Netty가 무엇인지에 대해 알아보겠습니다.
EventLoop
, Channel
, Pipeline
, Handler
구조로 네트워크 I/O를 처리즉, Netty만으로도 TCP/HTTP 서버를 직접 구현할 수 있음
Reactor Netty
는 Reactor
(Project Reactor의 비동기/반응형 프로그래밍 라이브러리) 기반으로 구현된 Netty 클라이언트/서버 구현체입니다.
<aside> 💡
Reactor Netty가 Netty 클라이언트/서버 구현체라는 뜻은?
Netty 위에 Project Reactor(Mono, Flux) 기반 API를 얹어, Netty를 사용하여 TCP/HTTP
서버/클라이언트를 더욱 쉽게 반응형으로 사용할 수 있게 만든 라이브러리라는 의미입니다.
구체적으로:
Channel
, EventLoop
, Pipeline
)는 그대로 사용Flux
, Mono
로 표현하여 Publisher 형태로 비동기 처리 가능HttpServer
, HttpClient
로 서버/클라이언트를 생성 가능즉:
WebServer
구현체 중 Netty 기반 서버 역할 수행reactor.netty.http.server.HttpServer
를 사용하여 HTTP 요청 수신 및 응답 전송 처리Publisher
(Mono, Flux) API로 비동기 작업 관리