👀 MQTT 하다 보니 Spring Integration에 대해서도 정리를 해야 할 거 같다.
☑️ Spring Integration
: Spring Framework의 확장 프로젝트
: 메시징 및 EIP(Enterprise Integration Patterns)을 구현한 프레임워크
☑️ Spring Integration 핵심 개념
Message
▶︎ Payload + Header 구조로 구성
▶︎ Payload는 실제 데이터. Header는 메타 데이터
Message Channel
▶︎ 메시지가 통과하는 파이프 역할
▶︎ Producer(생산자)가 메시지를 채널로 보냄
▶︎ Consumer(소비자)가 채널에서 메시지를 받아 처리
⚠️ MQTT의 Publisher, Subsciber와 다른 점 ( 그냥 본인이 헷갈려서 씀)
| 구분 | Spring Integration | MQTT |
| 용어 | Producer / Consumer | Publisher / Subscriber |
| 레벨 | 애플리케이션 내부 구조 | 네트워크 프로토콜 |
| 중심 개념 | Message Channel | Topic |
| 결합도 | 느슨 | 브로커 중심 |
| 범위 | 내부 + 외부 연동 | 네트워크 통신 |
| 개념 | Producer - Message Channel로 메세지 넣음 - 내부 로직, 외부 어댑터, 스케줄러 가능 Consumer - Channel에서 메시지를 꺼내 처리하는 쪽 - Service Activator, Router, Handler.. |
Publisher - 특정 Topic으로 메시지 발행 - 메시지 누가 받는지 모름 Subscriber - Topic 구독 - Broker로부터 메세지 수신 |
📤 MQTT 수신 흐름
| MQTT Publisher ↓ MQTT Broker ↓ Spring Integration MQTT Inbound Adapter ↓ Message Channel ↓ Consumer (Service Activator) |
📥 MQTT 송신 흐름
| Producer (Service) ↓ Message Channel ↓ MQTT Outbound Adapter ↓ MQTT Broker ↓ MQTT Subscriber |
Message Endpoint
▶︎ 메시지를 실제로 처리하는 컴포넌트
▶︎ 메시지를 송신하거나 수신하기 위한 구성요소
| EndPoint | 역할 |
| Transformer | 메시지 변환 |
| Filter | 조건에 맞지 않으면 제거 |
| Router | 조건에 따라 다른 채널로 분기 |
| Splitter | 하나 → 여러 메시지 |
| Aggregator | 여러 메시지 → 하나 |
| Service Activator | 실제 비즈니스 로직 호출 |
☑️ 처리 순서
Message 생성 → Channel 전달 → Endpoint 처리 → 다음 Channel → 최종 Consumer
전체 흐름
| [ Producer ] ↓ Message 생성 ↓ Message Channel ↓ Endpoint (Filter / Transformer / Router / ServiceActivator) ↓ Message Channel ↓ [ Consumer ] |
'CODING STUDY > NETWORK' 카테고리의 다른 글
| [NETWORK] SOAP vs REST 통신 방식 정리 (0) | 2026.03.31 |
|---|---|
| [MaaS] Kong API Gateway 핵심 요건 및 솔루션 상세 비교 분석 (0) | 2026.03.20 |
| [프로토콜] MQTT 송신 흐름 (InFlow) (0) | 2025.12.25 |
| [프로토콜] MQTT 송신 흐름 (OutFlow) (0) | 2025.12.23 |
| [프로토콜] MQTT에 대한 개념과 이해 (0) | 2025.12.22 |