MQ Telemetry Transport
이 기사는 검증 가능한 참고 문헌이나 출전이 전혀 나타나지 않은지, 불충분합니다. 출전을 추가해 기사의 신뢰성 향상에 협력해 주십시오.(2015년 3월) |
MQ Telemetry Transport(Message Queue Telemetry Transport, 약칭 MQTT)는, 메시지 지향 미들웨어의 응용 계층으로 사용되는, TCP/IP에 의한 Pub/Sub형 데이터 전달 모델의 경량인 메시지 큐 프로토콜이다.
힘이 약한 디바이스나 네트워크가 불안정한 장소에서도 동작하기 쉽게 메시지 통신 전문이 경량에 설계되고 있는 것이 특징.
Pub/Sub형 메시징·패턴에는, 메시지 브로커가 필요하다.
브로커는, 메시지의 Topic에 근거하고, 그것을 필요로 하고 있는 클라이언트에 메시지 전달을 하고 있다.
앤디·스탠퍼드·클럭과 시라스 링크 솔루션의 아렌닙파는 1999년에, 프로토콜의 최초의 버전을 집필하고 있다.
목차
사양
사양은 로열티 프리로 공개되고 있고, 현재의 사양은 3.1이 되고 있다.[1]
특징
다음 같은 특징을 가지고 있다.
경량인 프로토콜
프로토콜 전문 사양이 경량으로 한편 심플하게 되어 있다.
- 헤더 사이즈가 최소로 2 byte
- 심플한 프로토콜 순서
유연성의 높은 메시지 배포(Sub:구독) 편
배포처 조건이"/"단락의 계층 구조가 되어 있고, 한편 와일드 카드에 의한 지정을 할 수 있다.
배포처는 그 패턴에 매치한 행선지가 된다.
- Topic 베이스로의 Pub/Sub
- 1대 1, 1대 N, N대 N의 메시지 배포
메시지 배포의 품질
어플리케이션의 특성에 맞추어 3종류의 QoS(Quality of Service) 레벨의 지정을 할 수 있다.
- QoS0:최고 1회
- 메시지가 확실히 닿는 보증은 없다
- 메시지 배포에 실패해도 재발송을 하지 않는다
- QoS1:최저 1회
- 반드시 메시지 배포하지만, 중복 할 가능성이 있다
- QoS2:정확하게 1회
- 반드시 메시지를 배포하고, 중복도 발생하지 않는다
메시지재배포 기능
메시지재배포 기능(Durable subscribe)은, 다음 플로우로 처리가 된다.
- 의도하지 않고 Subscriber(메시지 배포) 통신이 절단
- 그 후, 해당의 Subscriber가 재접속
- 절단으로부터 재접속까지 발생한 메시지를 재발송 처리
- QoS1, 2의 메시지를 재배포한다
Last Will and Testament
Retain
- 브로커가 마지막에 배포한 메시지는 반드시 보존한다
브로커
MQTT를 서포트하는 브로커(MQ서버)는 많이 있다.
각각의 서버가 서포트하는 기능에는, 기본 기능의 외, 서버 특유의 기능을 가지고 있다.[2]
주된 MQTT 브로커는 이하와 같다.
- IBM MessageSight (상업용, 하드웨어)
- IBM WebSphere MQ Telemetry (상업용)
- 시우당Akane (상업용)
- Mosquitto (OSS)
- RabbitMQ (OSS)※Plugin가 필요
- Apache_ActiveMQ (OSS)
사용하고 있는 프로젝트
현실의 세계에서는, MQTT를 실장하는 프로젝트의 수가 있다.
Facebook Messenger
Facebook의 메신저에게 MQTT를 사용하고 있다.
IECC Scalable
IECC 시그나 링 제어 시스템의 DeltaRail의 최신 버전으로는, 시스템과 시그나 링 시스템의 다른 구성요소의 다양한 부분내의 통신을 위한 MQTT를 사용하고 있다.
외부 링크
- ^ [1] MQ Telemetry Transport (MQTT) V3. 1 프로토콜 사양
- ^ MQTT Broker Feature Comparison Feature comparison of the most popular MQTT brokers.
This article is taken from the Japanese Wikipedia MQ Telemetry Transport
This article is distributed by cc-by-sa or GFDL license in accordance with the provisions of Wikipedia.
In addition, Tranpedia is simply not responsible for any show is only by translating the writings of foreign licenses that are compatible with CC-BY-SA license information.
0 개의 댓글:
댓글 쓰기