Firebase实时数据库-扩展到100.000个并发连接以上

Firebase实时数据库-扩展到100.000个并发连接以上,firebase,firebase-realtime-database,autoscaling,Firebase,Firebase Realtime Database,Autoscaling,我目前正在开发的应用程序需要可扩展的实时通信。我们一直在研究并试用Firebase实时数据库和firestore。Firebase实时数据库似乎更加成熟并经过测试,而firestore仍处于测试阶段,这就是我们倾向于使用实时数据库的原因 然而,我们担心它在我们的环境中的扩展能力。我们的查询主要是基于用户位置的地理空间查询。根据,并发用户的最大数量为100.000,这对于我们的需求来说太低了 根据他们的文档,数据库分片似乎是一种扩展到超过100000个并发用户的方法。由于我们的查询基于用户的位置,

我目前正在开发的应用程序需要可扩展的实时通信。我们一直在研究并试用Firebase实时数据库和firestore。Firebase实时数据库似乎更加成熟并经过测试,而firestore仍处于测试阶段,这就是我们倾向于使用实时数据库的原因

然而,我们担心它在我们的环境中的扩展能力。我们的查询主要是基于用户位置的地理空间查询。根据,并发用户的最大数量为100.000,这对于我们的需求来说太低了

根据他们的文档,数据库分片似乎是一种扩展到超过100000个并发用户的方法。由于我们的查询基于用户的位置,因此我们可以将数据分组到区域中,例如美国西部、美国中部和美国东部,并为这三个区域中的每一个都提供一个数据库实例

虽然这种方法可能有效,但设置起来似乎非常麻烦。我们可能需要用户最初连接的服务,以便重定向到适合用户所在区域的正确数据库实例。此外,它应该处理用户移动到另一个区域的情况,因此应该重定向到包含该特定区域数据的另一个数据库实例。 另一项复杂的任务是将数据分发到正确的数据库实例中

是否有一种更简单的方法可以扩展到超过100000个用户,或者是否有可能增加单个Firebase实时数据库的并发连接数量?
在我看来,使用Firebase几乎是一种浪费,如果它需要你自己进行如此多的“负载”平衡。

100K并发连接是Firebase实时数据库的硬上限

您描述的两步连接方法非常惯用。第一步通常很简单。事实上,对于许多应用程序来说,这是其身份验证流程的一部分,或者是基于验证流程的结果。例如,许多应用程序将用户的碎片建立在UID的哈希上

在您的情况下,您可以在用户注册时将该区域注入到他们的令牌中。然后,当他们登录时,您将得到该声明,并且可以将他们重定向到他们的碎片。您还可以在客户机首次连接时将碎片信息保留在客户机中,这样您只需为每个客户机/设备确定一次

是否有一种更简单的方法可以扩展到10万用户以上,或者 可以增加单个服务器的并发连接数 Firebase实时数据库

对。使用Firestore数据库

完全自动缩放。目前,缩放限制为:

  • 大约100万个并发连接和10000次写入/秒。(他们计划在未来提高这些限制)()

  • 对文档的最大写入速率为每秒1次()


正式退出测试版,并于2019年1月31日正式上市()

firestore有些东西很差劲。定价模式很差劲。您不能将其用于物联网设备。不能制作实时游戏,否则会比RTDB花费更多。所以,缩放并不总是一个问题。但是用例也是如此。而RTDB在数据流频繁的情况下非常方便。但在其中存储数据的成本要高得多。