[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`를 사용하는 이유에 관해 알아보았다. 그렇다면 실제로 어떤식으로 코드를 작성해야 할까? 코드를 설명하기에 앞서 간단하게 요약하..
[커뮤니티 서비스] 커뮤니티 서비스와 다른 서비스의 통신
·
프로젝트/FitTrip
커뮤니티 서비스커뮤니티 서비스는 FitTrip 프로젝트의 유저가 상시 접속한다고 해도 과언이 아니다. 유저가 채팅을 치기 위해선 서버, DM에 접속해야 하며,유저가 음성/화상 통화를 하기 위해서도 서버, DM에 접속해야 한다. 처음 FitTrip 서비스를 방문해도 유저에게 서버, DM 목록을 전송해주며,유저는 다양한 채널을 생성하고 포럼 채널에 포럼을 통한 챌린지를 진행한다.  즉, 커뮤니티 서비스에서 일어난 변경은 항상 모든 유저에게 실시간으로 업데이트 되어야 한다.그렇기에 관련 작업을 위해 커뮤니티 서비스는 `Kafka`로 처리한다.  커뮤니티 서비스의 카프카 이벤트 처리앞서, 설명한 것처럼 커뮤니티 서비스는 카프카로 다양한 이벤트를 전송한다. 서버UPDATE, DELETEDMUPDATE채널CREAT..
Spring With Kafka
·
Spring/Cloud
이번 캡스톤 디자인 프로젝트를 진행하며 MSA를 사용하게 되었다. 이에 따라 서비스들을 잘게 나누었고 서비스들간의 비동기 이벤트를 처리하기 위해 Kafka를 사용하게 되었다. 본 포스팅에는 주키퍼/카프카는 무엇인지 어떻게 사용하는지 알아보도록 하자. 자세한 주키퍼/카프카의 내용은 다른 포스팅으로 다뤄 보도록 하겠다. 우선, Kafka를 알아보기 이전 Zookeeper에 관해 알아보도록 하자. (카프카의 여러 버전 중 주키퍼 없이 독립적으로 작동하는 카프카도 존재하지만,통상적으로 주키퍼와 함께 클러스터를 구축하여 동작하기에 주키퍼가 뭔지 알아보도록 한다.) Apache Zookeeper주키퍼는 이름처럼 동물원 사육사이다. 왜 이름이 이럴까? 많은 오픈 소스 프로젝트를 지원하는 Apache 재단의 프로젝트 ..