개발 노트

MQTT 예제 SubScriber Publisher 본문

프로그래밍/IT용어설명

MQTT 예제 SubScriber Publisher

알 수 없는 사용자 2022. 3. 3. 12:58

mosquitto 폴더에서 cmd 실행

 

첫번째 커맨드창 띄우고 SubScirber 실행

C:\Program Files\mosquitto>mosquitto_sub -h localhost -t /testTopic

 

두번째 커맨드창 띄우고 Publisher로 메세지 전송

C:\Program Files\mosquitto>mosquitto_pub -h localhost -t /testTopic -m "Test Message"

subscriber에 들어옴

 

MQTT란 IOT에서 각광받고 있는 메세지 전송 프로토콜이다.

MQTT는 앤디 스탠포드 클라크와 알렌 니퍼가 1999년에 개발하였다

 

초기 MQTT는 멀티 레벨의 QoS(Quality of Service)를 경량 및 효율적인 대역폭을 사용하기 위해 설계 되었고 현재는 MQTT의 특성인 메세지 경량화로 인해 IoT 또는 M2M 통신에 많이 사용되고 있다

 

MQTT 프로토콜은 푸시기술에서 일반적으로 사용되는 클라이어트서버 방식 대신 메세지 매개자를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식을 사용한다.

즉 매개자를 통해 메시지가 송수신된다

 

2. 특징

MQTT 프로토콜은 메시지를 발행(PUBLISHING)하고 관심있는 주제를 구독 하는 것을 기본 원칙으로 한다

PUBLISHER과 SUBSCRIBER은 모두 BROKER에 대한 클라이언트로 작동한다. PUBLISHER는 토픽을 발행하기 위한 목적으로 SUBSCRIBER은 토픽을 구독하기 위한 목적으로 BROKER 서버에 연결한다. 하나 이상의 Pub과 Sub가 브로커에 연결해서 토픽을 발행하거나 구독할 수 있다. 또한 다수의 클라이언트가 하나의 주제를 구독할 수도 있다

 

qos

MQTT는 3단계의 qos를 제공한다

QoS 0 : 메시지는 한 번만 전달하며 전달여부를 확인하지 않는다

QoS 1 : 메시지는 반드시 한번이상 전달된다. 하지만 메시지의 핸드셰이킹 과정을 엄밀하게 추적하지 않기 때문에 중복전송될수도 있다.

QoS 2: 메시지는 한번만 전달된다. 메시지의 핸드셰이킹 과정을 추적한다. 높은 품질을 보장하지만 성능의 희생이 따른다

 

서비스의 종류에 따라서 적당한 QoS 레벨을 선택해야 한다

 

'프로그래밍 > IT용어설명' 카테고리의 다른 글

IP 관련 용어 정리  (0) 2024.01.22
TCP/IP , MQTT  (0) 2022.11.22
MQTT정리  (0) 2022.03.03
윈도우 자동실행  (0) 2022.03.02
MQTT 스터디  (0) 2022.03.02