티스토리 뷰
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를 채택해 사용 중이다.
'Frontend > Android' 카테고리의 다른 글
Activity의 4가지 Launch Mode에 대하여 (0) | 2019.06.10 |
---|---|
Fragment 간의 데이터 전달 및 findViewById 사용하기 (0) | 2019.06.10 |
Retrofit2 사용해보기 (0) | 2019.05.31 |
ANR의 정의, 발생 요인 및 대응책 (0) | 2019.05.30 |
High Resolution Bitmap를 ImageView에 적용 시 Bitmap Error를 해결하는 방법 (0) | 2019.05.30 |
- Total
- Today
- Yesterday
- 안드로이드
- retrofit
- Kotlin
- 오토레이아웃
- 아이폰
- Auto Layout
- 스위프트
- Apple Watch
- Notissu
- databinding
- ios
- 컬렉션
- C++
- watchos
- Swift
- CloudComputing
- 알고리즘
- Elliotable
- java
- android
- 애플워치
- Rxjava
- 함수형
- 상속
- apple
- 코틀린
- 함수형프로그래밍
- Reactive programming
- SwiftUI
- XCode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |