목록2025/01 (2)
장미정원

Spring WebFlux, MVC Stack에 대해 WebFluxSpring WebFlux는 reactive web stack 프래임워크이며, non-blocking I/O를 지원하고 event-loop 방식으로 적은 양의 스레드로 대용량 요청을 처리할 수 있습니다.WebFlux 스택을 기존에 사용하는 MVC 모델과 비교하며 설명하도록 하겠습니다. MVC Thread Per Request 모델Spring MVC는 요청을 처리할 때 blocking 방식으로 처리합니다. (DB I/O, HTTP req ex. RestTemplate)MVC 서버는 요청이 들어올 때 ThreadPool에서 Thread를 꺼내서 요청 하나에 할당합니다. (thread per request) 일반적인 경우에는 이러한 방식이 문제..

들어가며 교내 입학지원시스템인 Hello, GSM 서버 개발 중에 겪었던 문제점들 중 하나였던 싱글톤 빈 동시성 문제와 해결과 개선 방안에 대해 소개드리겠습니다. 간단하게 Hello, GSM 서비스에 대해 소개하자면, 광주소프트웨어마이스터고등학교 입학 원서를 제출, 합격자 관리, 합격자 조회 등등 여러 편리한 기능을 제공하는 서비스입니다. 성적 계산식 이슈 릴리즈를 2주 정도 남겨둔 상황에서 상당히 크리티컬한 이슈가 발생했습니다. 입학지원시스템에서 가장 중요하다고 할 수 있는 성적 계산식에서 발생한 문제였습니다. 비즈니스상 성적 환산점 만점은 300점이지만, 무슨 이유에서인지 300점을 초과하는 case가 발생했습니다. 하지만 400줄이 넘어가는 계산식 클래스와 비즈니스 요구사항이 덕지덕지 뭍어있는 ..