1

それで、Google App Engine プラットフォームで MQTT ブローカーを実行できるかどうか疑問に思っていましたか? それに関する情報が見つかりませんでした (または、間違ったキーワードを使用している可能性があります)。

Java で GAE を実行しているので、バックエンドを使用して GAE で MQTT ブローカーを実行する方向に進みたいと思います。

編集: さらに調査を行ったところ、Moquette は Java で実行されているようです。誰かが GAE で Moquette を実行した経験がありますか?

EDIT2: わかりました。Moquette の例は、GAE では利用できない OSGi コンテナーを使用して実行されているようです。GAE でこのサーバーを起動するスクリプトを探しています。

4

3 に答える 3

1

@Peter Knegoは間違いなく正しいです。彼の答えに追加するのは、

Appengine と Compute Engine のマネージド VM でカスタム ランタイムを使用するようにアプリケーションを構成できた場合、

そうすれば、MQTT brooker を完全に健全に実行できるようになります。

ファイアウォールを定義して、ブローカーがリッスンしているポートで tcp 接続を許可する限り。

デフォルトでは、セキュリティ上の理由からポートはブロックされています。

于 2015-11-19T09:44:30.767 に答える
1

Moquette に代わるものとしてHiveMQブローカーもあり、これも Java 上で実行され、簡単にインストールできます。すべてのドキュメントはこちらから入手できます。まだ GAE でテストしていませんが、実行に問題がある場合は、サポート フォーラムで質問してください。

更新: Peter Knego が正しければ、HiveMQ やその他の MQTT ブローカーは GAE では機能しません。

完全開示: 私は HiveMQ を開発する会社で働いています。

乾杯、

キリスト教徒

于 2015-01-21T08:53:29.843 に答える
1

MQTT は TCP 上のプロトコルです。MQTT サーバーを実行するには、リスニング ソケットを開くことができる必要があります。これらは、通常の AppEngine インスタンスではまだサポートされていません。

注: GAE バックエンドは置き換えられました。現在は、自動スケーリングされた (別名フロントエンド) インスタンスと手動スケーリングされた (別名バックエンド) インスタンスしかありません。

問題に戻ります。マネージド VMには GAE (サービスへのアクセス) のほとんどの利点がありますが、ソケットをリッスンできる完全な JVM を実行します。

于 2015-01-20T20:47:15.003 に答える