WebSocket은 연결을 열어주지만, 채팅방과 접속자 목록까지 대신 만들어주지는 않는다.요즘 서버 애플리케이션에서 실시간 기능은 꽤 흔하다. 채팅, 알림, 실시간 대시보드, 협업 문서, 접속자 목록, 타이핑 표시 같은 기능이 대표적이다. Spring 서버에서도 WebSocket을 열 수 있고, STOMP를 사용할 수도 있다. 그런데 실제로 기능을 만들다 보면 WebSocket 연결을 여는 것만으로는 부족하다는 걸 금방 느끼게 된다.예를 들어 채팅방을 만든다고 해보자. 서버는 이런 것들을 직접 관리해야 한다.어떤 사용자가 어떤 방에 들어와 있는가?같은 사용자가 브라우저 탭을 여러 개 열면 어떻게 볼 것인가?사용자가 방에 들어올 때와 나갈 때 어떤 처리를 할 것인가?방에 메시지를 보내면 누구에게 전달할 것..
Spring 서버에서 JSON 처리 속도를 높일 수 있을까?Spring으로 API 서버를 만들다 보면 대부분의 요청과 응답은 JSON이다.보통 서버 성능을 이야기하면 DB 쿼리, Redis, 외부 API 호출, 네트워크를 먼저 본다. 맞다. 실제로 많은 서비스에서 병목은 JSON이 아니라 DB 쪽이다. 그런데 항상 그런 것은 아니다.예를 들어 이런 서버를 생각해보자.DB는 이미 빠르다.캐시 hit 비율이 높다.BFF 서버처럼 여러 응답을 조합해서 JSON으로 내려준다.목록 API 응답이 크다.gateway처럼 요청/응답 JSON을 많이 만진다.QPS가 높다.이런 경우에는 JSON을 읽고 쓰는 비용도 꽤 커질 수 있다.이 글은 “Spring 서버에서 JSON 처리를 더 빠르게 할 수 있을까?”라는 질문에서..
