3.3. 네트워크 연결에서 MQTT 사용
브로커는 MQTT v3.1.1 (및 이전 v3.1 코드 메시지 형식도 지원합니다.) MQTT는 경량의 클라이언트, 서버, 게시/구독 메시징 프로토콜입니다. MQTT는 메시징 오버헤드 및 네트워크 트래픽과 클라이언트의 코드 풋프린트를 줄입니다. 이러한 이유로 MQTT는 센서 및 작동기와 같은 제한된 장치에 이상적으로 적합하며, IoT(Internet of Things)의 사실상 표준 통신 프로토콜이 빠르게 되고 있습니다.
절차
-
설정 파일
BROKER_INSTANCE_DIR/etc/broker.xml을 엽니다. - MQTT 프로토콜이 활성화된 어셉터를 추가합니다. 예를 들면 다음과 같습니다.
<acceptors>
<acceptor name="mqtt">tcp://localhost:1883?protocols=MQTT</acceptor>
...
</acceptors>
MQTT에는 다음과 같은 여러 유용한 기능이 제공됩니다.
- QoS (Quality of Service)
- 각 메시지는 연결된 서비스 품질을 정의할 수 있습니다. 브로커는 정의된 최고 수준의 서비스 수준에서 구독자에게 메시지를 전달하려고 합니다.
- 보존 메시지
- 특정 주소에 대해 메시지를 유지할 수 있습니다. 클라이언트가 연결되기 전에 보존 메시지가 전송된 경우에도 해당 주소에 대한 새 구독자는 다른 메시지보다 마지막 메시지보다 마지막 메시지보다 먼저 메시지를 수신합니다.
- 와일드카드 서브스크립션
- MQTT 주소는 파일 시스템의 계층 구조와 유사합니다. 클라이언트는 특정 주제 또는 계층의 전체 분기를 구독할 수 있습니다.
- 메시지 표시
- 클라이언트는 연결 패킷의 일부로 "메시지"를 설정할 수 있습니다. 클라이언트가 비정상적으로 연결이 끊어지면 브로커는 메시지를 지정된 주소에 게시합니다. 다른 가입자는 메시지를 수신하고 그에 따라 대응할 수 있습니다.
MQTT 프로토콜에 대한 정보의 최상의 소스는 사양에 있습니다. MQTT v3.1.1 사양은 OASIS 웹 사이트에서 다운로드할 수 있습니다.