メッセージキュー
Message queue
MQ と省略される。
プロセス間あるいは拠点間で情報を伝達するのに使われる。
メッセージの送信と受信という形で非同期に情報を伝達する。(電子メールに似ている。)
いつ送信するか、受信するかを相手の状況を気にせずに決定できる。
複数のメッセージを非同期に送受信するため、未送信、未受信のメッセージがキューイングされる。
送信から受信までの間は、メッセージキューにより適切に管理されていて、プロセス側では再送などを考慮する必要はない。
キューからの取り出しは必ず順次か、特定しての部分取り出しが可能かは実装依存。
受信時に受信イベントを発行するのが一般的。それができない場合はポーリングする事になる。 キューの溢れには注意が必要。
溢れがなくなるまで、送信が待たされるかも知れない。
様々な実装があり、実装ごとに仕様が異なる。
共通仕様と呼べるのは以下のもの
プロセス間通信のメッセージキュー
Advanced Message Queueing Protocol の略
ISO/IEC 19464
MQ Telemetry Transport の略
Java Message Service の略
個別の商品
旧称 Websphere MQ