MQTT와 STOMP 250523
q1: MQTT와 STOMP
a1:
MQTT와 STOMP는 메시지 지향 미들웨어(Message Oriented Middleware)에서 자주 쓰이는 경량 메시징 프로토콜입니다. 플러그인 아키텍처에서 이들 프로토콜을 지원하면, 다양한 클라이언트·서버 간의 비동기 통신을 손쉽게 확장할 수 있습니다.
1. MQTT (Message Queuing Telemetry Transport)
• 개요
경량화된 퍼블리시/서브스크라이브(Publish/Subscribe) 방식 메시징 프로토콜입니다.
• 특징
• 경량·저전력: 헤더 오버헤드가 작아 IoT 디바이스처럼 자원이 제한된 환경에 적합
• QoS 레벨 지원: 0, 1, 2 세 가지 품질 보장(Quality of Service) 레벨 제공
• 트래픽 최적화: 상태 유지(Session) 기반으로 최소한의 네트워크 사용
• 사용 사례
• 원격 센서 데이터 수집 (스마트 팩토리, 홈 IoT)
• 모바일 푸시 알림
2. STOMP (Simple (or Streaming) Text Oriented Messaging Protocol)
• 개요
텍스트 기반의 단순한 메시징 프로토콜로, 주로 WebSocket 위에서 동작하며 JMS(Java Message Service) 클라이언트와 비슷한 인터페이스를 제공합니다.
• 특징
• 텍스트 기반: 사람이 읽기 쉬운 프레임 구조
• 다양한 바인딩: WebSocket, TCP 등 여러 전송 계층 위에서 사용 가능
• 간편한 구현: 언어·플랫폼 독립적으로 손쉽게 클라이언트·서버 구현
• 사용 사례
• 웹 애플리케이션의 실시간 채팅
• 서버 푸시(서버 → 클라이언트) 알림
⸻
이렇게 플러그인 아키텍처에서 MQTT나 STOMP를 지원하면, IoT 장비부터 웹 애플리케이션까지 다양한 클라이언트가 메시징 기능을 공통 인터페이스로 사용할 수 있어 시스템 확장성과 유연성이 크게 향상됩니다.