[스프링 웹플럭스] 1.1.7. 성능 VS 확장성

https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#webflux-performance

성능이란 다양한 특징과 의미가 있다. 보통, 리액티브와 논-블럭킹은 애플리케이션을 더 빠르게 만들어 주진 않는다. 몇몇 경우엔 그럴 수도 있다. 예를 들어, WebClient를 사용하여 병렬적으로 여러 리모트 콜을 실행할 수 있다. 하지만 전체적으로 볼 때 논-블럭킹 방식을 위해 더 많은 작업을 해야하기 때문에 필요한 처리 시간이 약간 증가할 수 있다.

리액티브와 논-블럭킹으로 기대할 수 있는 주요 장점은 작고, 고정된 개수의 쓰레드와 더 적은 메모리를 사용하여 확장할 수 있다는 점이다. 예측 가능한 방법으로 확장할 수 있기 때문에 부하를 받는 상황에서 애플리케이션을 더 견고하게 만들어 준다. 하지만 그러한 장점을 관찰하려면 느리고 예측 불가능한 네트워크 IO를 혼합한 어느정도의 지연이 필요하다. 바로 그 부분이 리액티브 스택이 장점을 보여주는 지점이며 그 차이는 극적일 것이다.

Leave a Reply

Your email address will not be published. Required fields are marked *