Micro Service에서 WebFlux의 장점
·
프로그래밍/Spring
마이크로 서비스에서 WebFlux의 장점을 알아보기에 앞서, 기존에 자주 사용되었던 아키텍처 방식인 모놀리딕 아키텍처 환경에 대해 간단하게 알아보고 그 문제점에 대해 얘기해 보겠습니다. Monolitic Architecture 소프트웨어의 모든 구성요소가 한 프로젝트(모듈)에 통합되어 있는 형태. 모놀리식 아키텍처의 경우 모든 프로세스가 긴밀하게 결합되고 단일 서비스로 실행됩니다. 따라서 애플리케이션의 한 프로세스에 대한 수요가 급증하면 해당 아키텍처 전체를 확장해야 합니다. 코드 베이스가 증가하게 되면 모놀리식 애플리케이션의 기능을 추가하거나 개선하기가 더 복잡해집니다. 이러한 기존 모놀리딕 아키텍처 환경은 여러 문제점들이 있었습니다. 하나의 모듈이 변경되어도 전체 서버를 배포해야 했습니다. 작은 기능..
Spring WebMVC VS WebFlux
·
프로그래밍/Spring
webMVC 스프링의 WebMVc는 동시 접속 사용자 처리를 위해 블로킹 IO 모델을 활용합니다. 이는 처리 가능한 동시 접속자의 수만큼 스레드를 생성해 각각의 스레드가 요청이 완료될 때까지 점유 되어있는 상태로 존재하며 클라이언트에게 요청에 대한 응답을 돌려줄 때 해당 스레드가 다시 가용한 상태로 전환되는 방식입니다(Tomcat의 Thread Pool) webFlux 스프링 WebFlux는 비동기, 논블로킹 형태로 구성되어 있습니다. 클라우드 환경을 기반으로 한 IT 서비스 인프라 환경이 늘어나기 시작하면서 웹 서비스아키텍처 구축 시 더 적은 자원으로 더 빠르게 서비스를 제공하려는 수요가 늘어나기 시작했고, Node.js에서는 이벤트 루프를 활용한 Non-Blocking IO를 선보이면서 웹 서비스 아..