MQTT Publish/SubscribeにおけるQoSとは
Author: 水卜
Author: 水卜
Quality of Serviceの略。
MQTT Pub/Subのメッセージが送信されたことをどこまで保証するかでレベルが分かれる。
メッセージを一回だけ送信する。
軽い。
もしSubscriberにメッセージが届かなくても、Publisherにそれを知るすべはない。
メッセージを最低1回送る。
Subscriberはメッセージを受け取った通知「PUBACK」をPublisherに送信する。
PublisherはPUBACKが届くまで何度でもPublishし続ける。
Publisher側でSubscriberの受領を検知することができる。
何らかの原因でPUBACKが遅れた場合もPublisherは複数通送ってしまう。
Subscriberは手元に複数のメッセージが届いていても、本当に複数送られてきたのか、PUBACKがなかったために複数送られてきたのか知るすべがない。
メッセージを1回正確に届ける。
メッセージの後に受信確認の通信を入れるので、送れなかったために複数メッセージを送信したのか、本当に複数メッセージ送信したのか見分けがつく。Level1でのデメリットを解決している。
重い。