使用角度绑定的Firebase连接计数?

时间:2015-02-08 18:48:28

标签: firebase angularfire

我在Firebase连接上阅读了不少帖子(包括firebase.com网站)。该网站称,一个连接相当于每月约1400名访问用户。鉴于客户端快速连接到Firebase服务器,下拉一些数据,然后关闭连接,这对我来说很有意义。但是,如果我使用角度绑定(通过angularfire),那么每个客户端访问(如果用户在网站上停留一段时间)都不是连接吗?在该示例中,具有100个用户(每个用户使用火基角度绑定)同时连接到站点将是100个连接。如果我选择不使用角度绑定,那么如果所有客户端都已经提出了数据请求并且只是闲置,那么这个数字可能(在理论意义上)为0。

我能理解这一点吗?

1 个答案:

答案 0 :(得分:4)

AngularFire构建于Firebase的常规JavaScript / Web SDK之上。它们之间的连接数基本相同:如果100个用户同时使用您的应用程序并且您正在为每个用户同步数据,那么此时将有100个并发连接。

一个并发连接相当于每月约1400次访问的声明基于Firebase人员对平均连接持续时间的丰富经验。正如Andrew Lee stated in this answer:大多数开发人员大大高估了他们将拥有的并发连接数。

如上所述:AngularFire的基本行为与Firebase的JavaScript API相同(因为它构建于此之上)。两个库都为用户保持开放连接,以便它们可以同步连接用户之间发生的任何更改。您可以通过调用goOffLine手动删除此类连接,然后使用goOnline重新启用它。这是否是一种好的方法在很大程度上取决于您正在构建的应用程序的类型。

两个例子:

  • 最近有someone who was building a word game。他使用Firebase存储每场比赛的最终得分。在他的情况下,显式管理连接是有意义的,因为与应用程序处于活动状态时相比,连接只需要相对较短的时间。
  • "你好世界"对于Firebase编程是chat application。在这样的应用程序中,自己管理连接并没有多大意义。因此,每15秒钟短暂连接,然后再次断开连接。如果您这样做,您实际上将恢复轮询更新。这样做会失去使用Firebase的一大好处:它会自动将数据同步到连接的客户端。

因此,只有您可以决定显式连接管理是否最适合您的应用程序。我建议在没有它的情况下启动(它更简单)并首先在较小的范围内测试您的应用程序,看看实际使用情况如何符合您的预期。