Netty와 Spring Webflux

Haechan Kim·2024년 7월 31일
0

Spring

목록 보기
68/69

Netty

비동기 이벤트 기반 저수준 네트워크 프레임워크

Netty의 특징

  • 비동기 입출력
  • 블로킹, 논블로킹 소켓 둘 다 지원

저수준 제어

채널, 이벤트 루프 등 직접 제어해 고도의 커스터마이징 가능.
기존 프로토콜 사용하지 않고 새로운 프로토콜 구현해야 하는 경우.

유연성

다양한 네트워크 프로토콜 지원, 확장성 뛰어남.

학습 곡선

네트워크 지식 필요, 학습곡선 가파름.

Spring Webflux

비동기 고수준 웹 프레임워크.
webFlux는 Netty를 기본 서버 엔진으로 가지고 있음.

스프링 생태계

스프링 프레임워크와 완벽 통합, 스프링 다양 기능 지원.

웹 개발

웹 어플리케이션 개발 특화, RESTful API, WebSocket 쉽게 구현 가능.
학습곡선 Netty 보다 낮고 스프링 프레임워크 이용해 빠르게 개발 가능.

비동기 스트림 처리

Reactive Programming 모델을 사용해 비동기 논블로킹 방식을 사용.
MVC는 서블릿 기반 동기식 처리. (블로킹 방식)

비교

Netty와 Spring WebFlux 모두 고성능 비동기 네트워크 프레임워크.
각 특징 파악해 프로젝트 요구 사항에 따라 적절한 프레임워크 선택해야 함!

고성능, 저지연 네트워크 어플리케이션 개발 시 Netty,
빠른 웹 어플리케이션 개발 시 Spring WebFlux가 적합할 수 있다.

0개의 댓글