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