메시징 프로토콜(MQTT, AMQP)
2025. 10. 14. 00:45ㆍ공부
1. 메시징 프로토콜이란?
메시징 프로토콜(Messaging Protocol)은 서로 다른 시스템 간에 데이터를 메시지 형식으로 안전하고 효율적으로 교환하기 위해 정의된 통신 규칙
HTTP는 요청–응답 기반의 동기식 통신 모델, 메시징 프로토콜은 메시지 큐나 브로커를 활용해 비동기적으로 데이터를 주고받는 모델
2. 주요 기능 및 목적
| 기능 | 설명 |
| 상호 운용성 | 서로 다른 운영체제, 언어, 플랫폼으로 구축된 시스템들이 메시지 브로커를 통해 원활하게 통신 |
| 비동기성 | 메시지 생산자가 소비자의 응답을 기다리지 않고 작업을 계속할 수 있도록 하여 시스템의 효율성과 처리량을 높임 |
| 신뢰성 | 메시지가 손실되거나 중복되지 않고, 의도된 수신자에게 정확하게 전달되도록 보장하는 기술(Qos, DLQ 등) 제공 |
| 내결함성 | 시스템 일부가 죽어도 메시지를 큐에 보관 |
3. 메시징 통신 방식
대부분의 메시징 프로토콜은 다음과 같은 두 가지 통신 모델 중 하나를 사용
1. Point-to-Point (Queue 기반)
- 작동 방식 : 메시지 생산자가 특정 큐에 메시지를 보내면, 해당 큐에 연결된 여러 소비자 중 오직 하나의 소비자만 메시지를 가져가 처리
- 특징
- 메시지가 처리될 때까지 큐에 보존되므로 메시지 손실이 적고 신뢰성이 높음
- 주로 작업 분배나 부하 분산에 사용
- 예) AMQP의 Queue 모델
2. Publish/Subscribe (Topic 기반)
- 작동 방식 : 메시지 생산자가 특정 토픽에 메시지를 발행하면, 해당 토픽을 구독하고 있는 모든 소비자에게 전달됨
- 특징
- 생산자와 소비자가 서로의 존재를 몰라도 되므로 시스템 결합도가 낮음
- 실시간 알림, 센서 데이터 전송, 채팅 등 다수의 수신자에게 동시에 정보를 전달하는데 사용
- 예) MQTT, STOMP
4. 대표적인 프로토콜
| 프로토콜 | MQTT | AMQP | STOMP |
| 메시지 형식 | 바이너리 | 바이너리 | 텍스트 |
| 주요 용도 | IoT기기, 센서 | 금융시스템, 기업용 메시징 | 실시간 웹 채팅, 알림 |
| 주요 특징 | 경량성, 낮은 전력, QoS제공 | 강력한 신뢰성, 복잡한 큐 및 라우팅 기능 | 단순성, 텍스트 기반, WebSocket 친화적 |
반응형
'공부' 카테고리의 다른 글
| MQTT 작동 원리 (1) | 2025.09.16 |
|---|---|
| Kotlin 기초(변수, 자료형, 형변환, 배열, 함수, 조건문, 연산자, 반복문) (0) | 2024.11.07 |
| HTML, CSS, JS만 사용해서 Mbti 테스트 만들기 - ChatGPT, Claude, netlify, 카카오 애드핏 (6) | 2024.09.26 |
| 내가 자주 사용하는 k8s 명령어 (2) | 2024.08.28 |
| 동기(Sync), 비동기(Async), Blocking, Non Blocking 차이 (0) | 2024.08.20 |