eventloop
-
비동기 처리란 무엇인지와 Netty, Spring WebFlux 개요Spring/WebFlux 2025. 2. 3. 19:29
1. Netty와 WebFlux 탄생 배경기존 동기 방식 웹 서버(톰켓)에서는 해결하기 힘든 문제들이 있었다.요청이 아주 많아질 경우 스레드풀이 충분하지 않다면 요청 처리가 지연될 수 있는 문제잦은 스레드 스위칭으로 인한 컨텍스트 스위칭 비용 문제소켓에 데이터를 쓸 때 애플리케이션의 데이터를 커널 버퍼로 한 번 복사해야 하는 문제클라이언트의 요청을 Accept, Read, Write할 때 발생하는 블로킹 문제 이러한 문제들을 해결하고 더 높은 성능을 제공하기 위해 비동기 방식 웹 서버(Netty)가 등장하게 된다.Netty는 위 문제들을 이벤트 루프 패턴과 NIO 기반의 기술들(DirectByteBuffer 등)을 활용해서 효율적으로 해결한다.이 때 이벤트 루프 패턴은 적은 수의 스레드만을 사용하는데,..