9초 걸리던 요청, 구조 손봤더니 3초 컷
·
삽질로그
1. 들어가며이전 포스팅에서는 Spring Boot가 어떻게 동시 요청을 처리하는지를 Tomcat의 스레드풀 관점에서 살펴보았다. 당시에는 스레드가 요청마다 어떻게 할당되고, 동기 방식의 로직이 어떤 한계를 가지는지까지 함께 정리했다. 2025.03.09 - [삽질로그] - 여러 요청이 동시에 들어오면, Spring Boot는 어떻게 처리할까? 여러 요청이 동시에 들어오면, Spring Boot는 어떻게 처리할까?1. 들어가며지난 글에서는 웹소켓 핸들러를 Event 기반으로 처리하여 동기 방식으로 해결했다.이를 통해 코드가 더 깔끔해지고 유지보수가 쉬워졌지만, 한 가지 새로운 고민이 생겼다. 🔗 이전mingking2.tistory.com 이처럼 스레드풀과 비동기 처리 구조에 대한 지속적인 관심은 단순한..
복잡한 웹소켓 핸들러, Event로 깔끔하게 해결하기
·
삽질로그
1. 들어가며최근 아두이노 기반 대여기 시스템을 구축하면서, 서버와 대여기가 WebSocket을 통해 실시간으로 메시지를 주고받는 구조를 만들게 되었다. 하지만 기존 방식으로 WebSocket을 처리하는 과정에서 여러 가지 문제점이 발생했다.메시지를 수신하고 처리하는 과정이 한 곳에서 집중적으로 이루어져 유지보수가 어려움새로운 메시지 타입이 추가될 때마다 핸들러를 계속 수정해야 하는 문제 발생이를 해결하기 위해 Spring의 Event을 활용하여 WebSocket 메시지를 처리하는 구조로 개선해보았다.이제 하나씩 기존 코드와 문제점을 분석한 뒤, 어떻게 Spring Event를 활용한 이벤트 중심 처리 방식을 적용했는지 살펴보자.2. 기존 코드 분석public class WebSocketHandler e..