Publish/Subscribeモデル

Publish/Subscribeモデル

 MQTTは、IoT(Internet of Things)アプリケーションなどの軽量なメッセージングプロトコルで、Publish/Subscribeモデルを採用しています。Publish/Subscribeモデルは、プロデューサーとコンシューマーを分離することで、アプリケーションの柔軟性を向上させます。

 MQTTでは、データ送信者は「Publisher(パブリッシャー)」と呼ばれ、特定のトピックにメッセージを送信します。一方、データ受信者は「Subscriber(サブスクライバー)」と呼ばれ、受信したいトピックにサブスクライブします。Publisherはトピックにメッセージを送信することができ、Subscriberはサブスクライブしたトピックに関連するメッセージを受信することができます。

 MQTTは、複数のSubscriberが同じトピックにサブスクライブすることができ、メッセージはブローカーによって配信されます。つまり、Publisherは特定のトピックにメッセージを送信し、ブローカーはそのトピックにサブスクライブしている全てのSubscriberにメッセージを配信します。また、MQTTは、メッセージの品質を指定することができます。品質には、最大1回のメッセージ送信、少なくとも1回のメッセージ送信、および正確に1回のメッセージ送信の3つのレベルがあります。

 Publish/Subscribeモデルは、IoTアプリケーションなどで非常に有用です。たとえば、スマートホームデバイスで温度センサーが測定値を送信し、サブスクライバーであるスマートフォンアプリが温度値を受信することができます。また、複数のサブスクライバーが同じトピックを購読している場合、例えば、温度値に関する警告を発行するアプリケーションがある場合、全てのサブスクライバーに警告が送信されます。