[Spring WebSocket] 채팅 서비스 프로젝트에 Kafka 적용
·
Spring/WebSocket
채팅 서비스는 일반적인 `HTTP` 통신을 사용하는 `stateless` 서비스와는 달리,`WebSocket`을 사용해 클라이언트와 상시 연결되어 있는 `stateful`한 특성을 가진다. 만약, 단일 인스턴스라면 해당 부분은 큰 문제가 되지 않을 것이다.(왜냐하면, 어차피 해당 인스턴스내에서 모든 작업이 일어나기 때문에 서버가 종료되면 마찬가지로 종료되기 때문) 하지만, 문제는 `Scale-Out`시에 발생한다. 왜 그런지 아래의 예시와 함께 살펴보자. 채팅 서비스 Scale Out시 문제점왜 `stateful` 하면 `Scale-Out`시 문제가 발생할까? 만약, 카카오톡과 같은 비슷한 코코아톡이라는 채팅 서비스가 현재 단일 인스턴스를 갖는다고 가정해보자. 이때, 코코아톡이라는 채팅 서비스에 민수..