본문 바로가기

전체 글

(11)
Stomp Message broker - Kafka로 변환하기 (2) Topic, Listener 동적 생성 채팅방 별로 메세지를 관리하기 위해, Kafka에서도 Topic을 기준으로 채팅방별로 Listener를 따로 두어 관리하려고 한다. 그렇게 하기 위해서는 채팅 내용을 DB에 저장한 이후에, 해당 채팅방의 PK를 기준으로 Topic을 만들고 해당 Topic을 Listen해줄 Kafka Listener가 필요하게 된다. 이것을 동적으로 생성하기 위해, KafkaUtils 클래스를 작성했다. package com.domain.community.utils; import com.domain.community.service.KafkaConsumerService; import java.util.Collections; import lombok.RequiredArgsConstructor; import org.apache..
Stomp Message broker - Kafka로 변환하기 (1) Configuration 기존에 Stomp에서 Message broker를 Spring에서 제공하는 SimpleBroker를 사용하고 있었다. 변경 전 WebSocketConfig.java package com.domain.community.configuration; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; impo..
파이프라인 개선 안 - 로그 뷰어 HTML 삽입 미리보기할 수 없는 소스 협업 인원 프론트엔드 디자인 및 페이지 작성 : https://github.com/d2doo 크게 보면 활용한 스택은 다섯가지에 해당합니다. 기본적인 SpringBoot와 Spring Data MongoDB를 활용하여 로그에 대한 통신과 저장을 담당하였고, 통신에 대한 세부 사항은 웹 소켓을 활용하여 통신하는 방식으로 진행해 해당 소켓에 접속해있는 sendTextMessage를 하지 않는 클라이언트의 전부에게 똑같은 로그 데이터를 보내 이를 화면단에 뿌려주는 작업을 하였습니다. 아래는 이러한 과정에 대한 가벼운 아키텍쳐 그림 입니다. 저희 파이프라인은 기본적으로 FE 팀원들이 개발을 할 때 편하게 하도록 Merge시 마다 갱신되는 미러 BE 서버를 갖고 있습니다. ..