Java GAE:MQTT代理
所以我想知道是否有可能在GoogleAppEngine平台上运行MQTT代理? 找不到关于它的任何信息(或者我可能使用了错误的关键字) 我已经在Java上运行了我的GAE,所以我想进入使用后端在GAE上运行MQTT代理的方向 编辑: 做了进一步的研究,Moquette似乎正在Java上运行。有人有在GAE上运行Moquette的经验吗 EDIT2:Java GAE:MQTT代理,java,google-app-engine,mqtt,iot,moquette,Java,Google App Engine,Mqtt,Iot,Moquette,所以我想知道是否有可能在GoogleAppEngine平台上运行MQTT代理? 找不到关于它的任何信息(或者我可能使用了错误的关键字) 我已经在Java上运行了我的GAE,所以我想进入使用后端在GAE上运行MQTT代理的方向 编辑: 做了进一步的研究,Moquette似乎正在Java上运行。有人有在GAE上运行Moquette的经验吗 EDIT2: 好的,Moquette的示例似乎是使用OSGi容器运行的,这在GAE中是不可用的。正在寻找在GAE上启动此服务器的脚本。MQTT是TCP之上的协议。
好的,Moquette的示例似乎是使用OSGi容器运行的,这在GAE中是不可用的。正在寻找在GAE上启动此服务器的脚本。MQTT是TCP之上的协议。为了运行MQTT服务器,需要能够打开侦听套接字。普通AppEngine实例仍然不支持这些 注意:GAE后端已被替换:自动缩放(又名前端)实例和手动缩放(又名后端)实例
回到您的问题:拥有GAE(访问服务)的大部分好处,但运行一个完整的JVM,它允许侦听套接字 代理也是Moquette的替代品,它也可以在Java上运行,并且可以轻松安装。所有的文档都是可用的。 我们还没有在GAE上测试它,但是如果您在运行它时遇到任何问题,您可以在支持论坛上询问 更新:如果Peter Knego是正确的,那么HiveMQ或任何其他MQTT代理将无法在GAE上工作 充分披露:我为开发HiveMQ的公司工作 干杯
克里斯汀@Peter Knego肯定是对的,我想补充他的答案是 如果您设法将应用程序配置为在Appengine和Compute Engine的托管虚拟机上使用自定义运行时 然后,您将能够完美地运行MQTT brooker 只要定义防火墙,允许在代理侦听的端口上进行tcp连接
默认情况下,出于安全原因会阻止端口。可能的解决方案是:在单独的服务器上运行代理,并在我的GAE应用程序中将MQTT客户端定义为后端,然后将数据转发到我的数据存储中?这个客户端不需要侦听套接字,这是对的吗?如果GAE是一个MQTT客户端,它只发送通知,那么这可能会起作用。有点离题,但可以只在后端运行MQTT客户端(现在是服务吗?)。这是为了听一个公开的经纪人讲话。谢谢你的提醒!我还在比较不同的选择:)