我在App Engine上运行后端应用程序(仍在免费计划中),它支持Firebase实时数据库设置中的客户端移动应用程序。当客户端对数据库进行更改时,我需要我的后端来检查该更改,并可能计算一些输出。
我可以让我的App Engine实例保持清醒状态并一直监听Firebase端口,等待数据库中任何地方的更改,但这会使我的实例保持全天候醒来并且不支持负载平衡。< / p>
在我切换到Firebase之前,我的客户端会通过发送他们想要执行的更改的REST请求来手动唤醒后端。现在,Firebase允许客户直接进行更改,我希望他们不需要发出手动请求。我可以继续从客户端发出请求,但该解决方案不会很健壮,因为如果由于某种原因请求没有通过,并且用户关闭了该解决方案,它将无法通知服务器客户端成功发送请求之前。 Firebase有自己的机制来保留更改,但我的请求需要类似的机制。我希望有一个比这更简单的解决方案。
有没有办法让Firebase自动生成请求并在更改数据库时唤醒我的App Engine?
答案 0 :(得分:2)
查看新的(beta)firebase云功能。有了它,你可以运行node.js代码,预处理并在数据库事件上调用你的appengine。
答案 1 :(得分:1)
Firebase目前不支持webhook。
答案 2 :(得分:0)
来自Listening to real-time events from a web browser:
将活动发回App Engine
App Engine目前不支持双向流式HTTP 连接。如果客户端需要更新服务器,则必须发送一个 显式HTTP请求。
替代方案并不能帮助您,因为它不适合免费配额。但无论如何它在这里。来自Configuring the App Engine backend to use manual scaling:
要将Firebase与App Engine标准环境一起使用,您必须使用 手动缩放。这是因为Firebase使用后台线程 监听变化和App Engine标准环境允许 长寿命的后台线程仅在手动缩放的后端 实例