티스토리 뷰

Frontend/Android

MQTT에 대한 이해

데니 Denny 2019. 2. 8. 14:29
반응형
SMALL

https://blog.neonkid.xyz/126


MQTT ( Message Queue TELEMETRY TRANSPORT )

통신 장비, 모바일, 스마트폰 기기에 최적화된 가벼운 메시징 프로토콜로 IoT장비에 현재 많이 사용되고 있는 프로토콜


HTTP/HTTPS를 사용할 수도 있지만, IoT와 같은 Lite한 장비에 대해 단순 메시징 교환을 위해 무거운 프로토콜을 사용하면 성능 저하가 발생하게 된다.


XMPP의 경우 메시지의 크기와 형태가 xml 파일 형식이므로 리소스가 크다는 단점이 있다.

그래서 사용한 것이 바로 MQTT가 되겠다.


MQTT는 Broker Pattern을 사용한다.

Broker라는 중계자가 존재하고 해당 서버에서 Topic선정, Topic의 구독자들에게 메시지를 전달해주는 방식이다.


1:1, 1:N, N:N 통신도 쉽게 구현이 가능하다.

일반적인 채팅 서버를 만드는 것에 비하면 굉장히 리소스를 덜 필요로 한다는 것이 특징이다.


MQTT 특징 정리

1. 단순하고 가벼운 메시징 프로토콜

2. 오버헤드를 최소화 하기 위해 헤더 크기를 대폭 줄이고, Paylosd 데이터에 중립

3. QoS 지원

4. 클라이언트와 서버 간 연결이 끊어졌을 때의 보정 기능 제공

5. TLS/SSL 지원 (X.509를 이용한 양방향 인증 지원)

6. 사용자 인증 방식 제공

7. 오픈 소스


MQTT Broker

Netty 기반에서 동작하는 Mosquette, Eclipse에서 개발한 Paho등 여러 가지 존재.

Facebook에서는 Broker로 Mosquitto를 채택해 사용 중이다.


반응형
LIST
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함