如果我想在服务器端使用Firebase,使用express和node.js代替REST路由,我将如何处理扩展和负载平衡?例如,如果我有一个在服务器端使用Firebase的快速应用程序,那么每个旋转的服务器都会包含这些侦听器并对它们作出反应吗?是否有可扩展的解决方案在服务器端使用Firebase并考虑弹性负载平衡?
答案 0 :(得分:5)
我认为你的问题目前的形式过于宽泛,但会给你至少一些(同样广泛的)选择。
可能有几十种解决方案可能,但其中大多数都是这两种广泛情景的变化:集中式和分散型。
您可以使用集中授权,将每个任务分配给其中一个工作节点。这通常是负载均衡器的作用,因此您可能希望搜索负载均衡算法。
或者,您可以让每个节点只是尝试声明工作。然后,节点应使用transaction
更新"工作队列",以便只有一个节点最终完成工作。