所以我想知道是否可以在Google App Engine平台上运行MQTT代理? 找不到任何关于它的信息(或者我可能使用了错误的关键字)。
我已经在Java上运行了GAE,因此我想使用后端进入GAE上运行MQTT代理的方向。
修改 做了一些进一步的研究,似乎Moquette正在运行Java。有人有经验在GAE上运行Moquette吗?
EDIT2: 好吧,似乎Moquette的例子正在使用OSGi容器运行,这在GAE中是不可用的。寻找在GAE上启动此服务器的脚本。
答案 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连接。
默认情况下,出于安全原因阻止端口。