STOMP + Spring WebSocket으로 10만 동시접속 채팅 서버 구축하기 (오답노트 포함)
단일 인스턴스 톰캣 환경에서 메모리 릭을 경험하고, Redis Pub/Sub 및 Netty 기반 소켓 분리로 전환한 실제 리팩토링 일지입니다. 서버 아키텍처 다이어그램 및 부하 테스트 결과까지 공개합니다.
부하 테스트 코드 및 STOMP 채널 인터셉터 소스
k6 스크립트 + WebSocketHandler 소스코드 패키지 포함
불러오는 중…
Spring 이야기를 꾸준히 기록하는 차재인의 개발 블로그예요.
Kafka 파티셔닝 전략부터 Outbox 패턴, 데드레터 큐 재처리 로직까지 프로덕션 환경의 실전 설계를 다룹니다.
1화부터 읽기 →단일 인스턴스 톰캣 환경에서 메모리 릭을 경험하고, Redis Pub/Sub 및 Netty 기반 소켓 분리로 전환한 실제 리팩토링 일지입니다. 서버 아키텍처 다이어그램 및 부하 테스트 결과까지 공개합니다.
부하 테스트 코드 및 STOMP 채널 인터셉터 소스
k6 스크립트 + WebSocketHandler 소스코드 패키지 포함
오케스트레이션과 코레오그래피 중 무엇을 골랐는지, 보상 트랜잭션 설계까지 정리했어요.
동기 호출이 장애를 전파하는 구조를 그림으로 보고, 이벤트로 끊는 방법을 소개해요.