MQTT?
MQTT
MQTT를 대충 알고 있었지만, 되새김질도 할 겸 서칭해 보았다. 나중에 HomeIoT 기기들을 직접 만들어 볼 예정인데 공부 삼아서 ㅇㅅㅇ MQTT라 하믄 프로토콜이라 보면 된다. TCP/IP 프로토콜 위에서 동작하고 최소한의 전력과 패킷량으로 통신한다. "작은 코드 공간"(small footprint)이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결의 위해 설계되었다. IoT와 모바일 어플리케이션 등의 통신에 매우 적합한 프로토콜이다. publish-subscribe messaging 패턴은 메세지 브로커가 필요하다.필자는 처음 MQTT를 접할때 뭣도 모르고 브로커를 동작하게 두지 않아서 한동안 고생한 적이 있었다.
MQTT는 QoS를 제공하고 3단계로 나눠져 있다.
- 최대 한 차례 - 메세지는 한 번만 보내면 클라이언트와 브로커는 전달 확인 응답을 위한 추가 단계를 밟지 않는다. (보낸 다음 잊어버린다.)
- 최소 한 쳬례 - 메세지는 확인 응답을 수신할 때까지 여러 번 송신자로부터 재시도된다. (확인 응답을 거치는 전달)
- 정확히 한 번 - 송신자와 수신자는 2단계 핸드셰이크에 참여함으로써 오직 하나의 메세지 사본만을 수신하는 것을 보장한다. (보장된 전달)