오늘은 Spring Boot에서 Websocket과 Broker Relay를 활용하여 실시간 메시지 전달 시스템을 구축하는 방법에 대해 배웠습니다.
의존성 추가
org.springframework.boot:spring-boot-starter-websocket
Websocket 설정:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").withSockJS();
}
}
메시지 핸들러
@Controller
public class ChatController {
@MessageMapping("/chat.sendMessage")
@SendTo("/topic/public")
public String sendMessage(String message) {
return message;
}
}
클라이언트 구독 및 메시지 전송
/ws 엔드포인트에 연결하고 /topic/public에 구독합니다./app/chat.sendMessage로 전송됩니다.오늘 배운 내용을 통해 Spring Boot에서 Websocket과 Broker Relay를 활용하여 실시간 메시지 전달 시스템을 구축하는 방법을 알게 되었고 외부 메시지 브로커를 사용하면 시스템의 확장성과 안정성을 크게 높일 수 있다는 점이 인상 깊었습니다.
이러한 기술을 실제 프로젝트에 적용하여 실시간 메시지 전달 기능을 구현해 보는 것이 다음 목표입니다.