我们正在托管一个结合使用firebase和app engine的平台。应用引擎节点JS服务器监听firebase位置的变化,并对数据进行一些处理。然而,由于扩展,我们突然有了2个实例而不是1个,最终导致数据的重复处理。我已经看到了一些建议,手动扩展一个实例,但这不是真正的可扩展,对吗?
是否有使用灵活解决方案的替代解决方案?我已经读了一些关于firebase队列和https://cloud.google.com/solutions/mobile/mobile-firebase-app-engine-flexible的内容。有人对这些有任何经验吗?它们与仅使用REST进行需要由服务器处理的更新相比如何?
我建议不要在处理程序上监听和处理更改,而是将更改请求排队(使用queues或pubsub)。
这将保证每次更改仅由单个实例处理,并且可以扩展到允许多个实例处理多个更改通知。
队列还将保证在出现错误的情况下,您将有一个服务器端退出。