LoginSignup
13
13

More than 5 years have passed since last update.

MQTT予備知識

Last updated at Posted at 2014-08-17

とりあえず、自分用の整理memoです。

pub/sub server

参考

http://www.hitachi.co.jp/Prod/comp/soft1/manual/cosmi/v0900/03Y0701D/EY070387.HTM
http://www.ibm.com/developerworks/jp/websphere/library/wmq/toranomaki/5.html

※ 元はGof本の Observer pattern らしい.

用語の説明

publisher: メッセージを作成して送信するクライアント.
subscriber: メッセージを受信する側のクライアント.任意のtopicのmessageのみ受信.
topic:Publisherと Subscriber を結びつけるためのオブジェクト
broker: publisherから送信されたメッセージを,topicオブジェクトを用いてフィルタリングし,適切なsubscriberに送信する

メッセージ配信の流れ

publisher: messageをbrokerに送信.
broker: 送られたmessageをtopicに登録.
broker: 各々のtopicに登録していた subscriberに対して、messageの配信を行う.
subscriber: brokerからmessageを受信する.

Pub/Subメッセージングモデルの特徴

publisher

  • 任意の数のpublisherが、messageにtopicを設定し、送信することが出来る.
  • messageはpublisherが登録した順番で、topicに保存される.

subscriber

  • 任意の数のsubscriberが、特定のtopicの messageを受信することが出来る.
  • subscriberは登録したtopicに関する全てのmessageを受け取る事が出来る.
  • subscriberはmessage selectorを用いて受信するmessageをフィルタリングすることが出来る.
  • subscriberは登録したtopicであっても、有効期限をすぎたmessageを受信することは出来ない.

その他

  • publisherとsubscriberは動的に追加・削除される.
  • messageには有効期限、優先順位、そしてsubscriberの設定した message selectorによって、処理される順番が変化する.

永続化サブスクライバーの利用

チャットとか作ったら必要になるかも.
今回はとりあえずパス.

MQTT (Message Queuing Telemetry Transport)

参考

http://tdoc.info/blog/2014/01/27/mqtt.html
http://ledsun.hatenablog.com/entry/2014/08/13/141908
http://mqtt.org/wiki/#the_mqtt_protocol

Message Queing

非同期型通信プロトコル.
送信者はmessageを queueに保存.
受信者は任意のタイミングで、queueからmessageを取り出すことにより、
受信者・送信者間のmessageをやりとりする.

概要

publish/subscribeモデルに基づく軽量なメッセージプロトコル.
OSI参照モデルの、アプリケーション層(HTTP)で動作する.

特徴 (調査中)

  • オーバーヘッドが少なく処理も軽い
  • 1対多、多対多のメッセージ配布が可能.
  • topic wildcardによる柔軟性の高い
  • QoSを選べる.
  • Durable subscribe
  • Last Will and Testament
  • Retain
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13