本来、比較すべきものでもないのかもしれませんが、日本語の記事があまりないので、下記のページ内の表を和訳したメモ。
https://www.intuz.com/blog/mqtt-vs-amqp-iot-protocols-you-must-know
パラメータ | MQTT | AMQP |
---|---|---|
定義 | シンプルなメッセージキューイングサービスを提供し、主に組込みシステムで実装可能 | さまざまなメッセージング環境を提供し、セキュリティプロトコルに関してはパフォーマンスが向上します |
背景 | MQTTは主にベンダー主導であり、IBMによって開発されました | JPモルガンは金融アプリ向けのAMQPを開発しました |
アーキテクチャー | client/broker アーキテクチャー | client/broker、およびclient/server アーキテクチャー |
プロトコル設計 | TLSを使用してメッセージングを暗号化したり、OAuthなどの最新のプロトコルを使用してクライアントを認証したりするプロセスを簡素化します | publisher/subscribeとrequest/responseの両方のタイプの通信を実行するTCPベースのプロトコルです。 |
最適化フレームワーク | 軽量メモリデバイスのストリームライクなアプローチを採用したwireフレームワークをベースにしています | データフレームワークのワイヤーに最適化されており、バッファリング方式を採用し、サーバーの性能を高めています。 |
メッセージサービス | MQTTは非常に過渡的であり、結果的にリンクされたパブリッシャーとサブスクライバーのアクティブルーティングに最も適しています。 | AMQPは、バルクメッセージングを含むあらゆる種類のメッセージングを可能にし、メタデータメッセージを実行することができます。 |
メッセージトランザクション | 一般的なアクノリッジを比較的早くサポートすることで知られている | 様々なアクノリッジやトランザクションに対応しています。 |
データコンテキスト | データキャッシュとプロキシを部分的にサポートしています。 | AMQPは、データキャッシュとプロキシをフルサポートしています。 |
実証済みのセキュリティ | アドオンサービスを使用してセキュリティを強化することはできますが、関連するセキュリティの問題には対応していません。 | AMPはTLSとSASLのポリシーを排除し、継続的な更新のパフォーマンスを迅速に向上させます |
最後の値のキュー | コマンドの保持を提供し、キューの最後の値をスムーズにサポートします。 | キュー内の最後の値に関する規定やサポートがないため、制限になることがある |
効率とスケーラビリティ | ワイヤーエフィシェントであるため、AMQPよりもクライアント側の実装に手間がかからない | メッセージストリームにサブスクリプションを作成することができないので、拡張性がない。 |
信頼できるメッセージング | そのデータ配信は信頼性が高く、適切です | fire-and-forgetポリシーのみ有効です。AMQQPは信頼性がない |
ネームスペース | MQTTはメッセージの送信に名前空間を階層的に展開する | AMQPでは、キューやノードなど、メッセージを見つけるための複数の方法が用意されている |
追加属性 | MQTTは、DNSサーバーの基本要件を満たしています。非同期式であり、高度な機能はサポートされていない | AMQPはピアツーピア接続をサポートしており、ネットワーク全体の負荷分散や多重化を行うことができる |
実装 | 64kb以下のRAMを搭載したデバイスに実装可能です。 | 64kb以下の小さな要素で実装されています。 |
拡張性 | MQTTは、プロトコルのドラフトが一新され、他のプロトコルよりもはるかに広い拡張性を持つようになった | 特定の方法で拡張でき、分離してレイヤーを変更できる構造上のポイントを持つ |
ほぼ機械翻訳なので、自分でも意味の分からない表現が。。。
気の利いた日本語があれば教えて下さい。