GAE:MQTT经纪人

时间:2015-01-20 12:49:26

标签: java google-app-engine mqtt iot moquette

所以我想知道是否可以在Google App Engine平台上运行MQTT代理? 找不到任何关于它的信息(或者我可能使用了错误的关键字)。

我已经在Java上运行了GAE,因此我想使用后端进入GAE上运行MQTT代理的方向。

修改 做了一些进一步的研究,似乎Moquette正在运行Java。有人有经验在GAE上运行Moquette吗?

EDIT2: 好吧,似乎Moquette的例子正在使用OSGi容器运行,这在GAE中是不可用的。寻找在GAE上启动此服务器的脚本。

3 个答案:

答案 0 :(得分:1)

MQTT是TCP之上的协议。为了运行MQTT服务器,需要能够打开侦听套接字。普通的AppEngine实例仍然不支持这些。

注意:GAE后端已被替换:now you just have自动缩放(也称为前端)实例和手动缩放(也称为后端)实例。

回到你的问题:Managed VMs具有GAE(访问服务)的大部分好处,但运行一个完整的JVM,它允许监听套接字。

答案 1 :(得分:1)

Moquette的替代品也是HiveMQ代理,它也可以在Java上运行,并且可以轻松安装。所有文档均可用here。 我们还没有在GAE上测试它,但如果您在运行它时遇到任何问题,可以在支持论坛中提问。

更新:如果Peter Knego是对的,那么HiveMQ或任何其他MQTT经纪人将无法使用GAE。

完全披露:我正在为开发HiveMQ的公司工作。

干杯,

基督教

答案 2 :(得分:1)

@Peter Knego绝对是对的,我想补充的是,

如果您设法将应用程序配置为在Managed Vms of Appengine和Compute Engine上使用自定义运行时,

然后你将能够完美地运行MQTT brooker。

只要您定义防火墙以允许您的代理正在侦听的端口上的tcp连接。

默认情况下,出于安全原因阻止端口。