我对Firebase定价模型有点困惑,特别关注的是连接或更准确地说是并发连接。
让我们举一个iOS移动应用程序FanZONE的例子:
用户将在足球比赛期间创建组。他们将对实际比赛进行评论,评论将立即显示在每个会员屏幕上。
这种情况是否意味着参与评论/查看的每个用户都会对一个连接计数
那么,如果一个组包含100个积极关注屏幕并不时发表评论的用户,那么每90分钟是否有100个连接
后台有应用程序的用户如何,应用程序每5分钟检查一次分数。这种连接也是90分钟长还是每5分钟只有一小部分时间?
在第一个场景中,简单的答案是肯定的。只要您的用户保持屏幕上的Firebase连接,允许他们评论/阅读评论,那么每个屏幕都会有一个并发连接。
在第二种情况下——这取决于您如何开发您的应用程序。Firebase API确实为您提供了goOffline和goOnline方法(https://www.firebase.com/docs/ios-api/Classes/Firebase.html#class_methods),让您可以控制您的连接。如果您想离线5分钟,然后短暂地回到在线检查分数,然后再次离线,那么您只能在很短的时间内保持连接。
并发连接就是——同时建立的连接。因此,如果您有3个人使用您的应用程序检查分数,但用户1的应用程序在下午12:00上线并且连接持续5秒,然后用户2的应用程序在下午12:01上线5秒,用户3的应用程序在下午12:02上线5秒,那么您只有一次并发连接。
另一方面,如果所有3个用户的应用程序都在下午12:00联机5秒,那么您将有3个并发连接。
您可能会在第一个场景中使用相同的goOffline/goOnline策略,但如果您的用户希望近乎实时地谈论游戏,这可能会降低体验。
除了Mike P的出色回答之外,这里还有一些关于同一主题的其他讨论,这些讨论可能会证明很有见解。
从Firebase定价页面:
什么是连接?
连接是到服务器的开放网络连接。这是对同时使用你的应用程序或网站的用户数量的衡量。这与您网站的总访客数或应用程序的总用户数不同(通常要低得多)。根据我们的经验,1并发相当于大约1400个月的访问量。
我们的开发Firebase对允许的连接数量有严格限制。然而,所有付费的消防基地都是“burstable”,这意味着使用量没有上限,相反,你会为任何超支付费。我们根据当月95%的使用率来衡量付费计划的连接。
来自Andrew Lee(Firebase创始人)的邮件列表讨论:
我强烈建议您不要担心它,除非您真的突破了我们的限制......大多数开发人员都大大高估了他们将拥有的并发用户数量。一个很好的经验法则是典型网站的1个并发=1000个月访问量。对于移动设备,安装和并发之间的比率有时甚至更高(尽管根据您的用例有很大差异)。对于并发用户,我们的计划非常慷慨。作为一个数据点——我们自己的网站大部分时间都可以在“免费”Firebase计划下轻松运行。事实上,超过99.5%的Firetase从未达到50个并发限制。
所以,长话短说,如果你正在从事一个业余项目,你几乎肯定不会达到我们的免费tier 50并发限制。如果你是一家企业或一个更大的应用程序,我希望你会发现我们的49美元/月计划比花费工程时间来确定何时使用goOnline/goOffline来最小化该数字更具成本效益。
在非常高端(拥有10000个concurrents的大型企业应用程序),我们确实提供定制定价,每并发速率更低。
连接的用户基准测试和测试:如何在Firebase中计算连接
这里还有一个类似的问题:如何计算并发连接
是否有人可以使用IOS目标为的Swift 4.2澄清FCM所需的方法 我发现IOS的弃用问题和FCM方面的一些文档遗漏使得这种方式比它需要的更加混乱。 我们可以得到一个简单的矩阵,比如:AppState | closed | background | foreground| userAction:none(简单消息到达IOS)取消通知点击通知选择通知操作直接打开应用程序-不参与通知 在上述场景中调
问题内容: 我有一张桌子Table1 当我使用以下查询查询该表时 我得到的输出为 但是以同样的方式,当我使用以下查询时,我没有任何输出。 有人请给我指导,为什么它会那样工作,以及如何使用rownum。 问题答案: 汤姆回答了许多与Oracle有关的问题 简而言之,在应用where子句之后和应用order by子句之前,rownum可用。 在RowNum = 2的情况下,where子句中的谓词将永远
当使用P2P_STAR时,由于此拓扑使用Wi-Fi热点,设备的最大数量为10个。也就是说,如果您没有路由器。 这让我不禁要问两个问题: 我知道附近的连接使用BLE、蓝牙和Wi-Fi直接连接。我知道蓝牙有一个最大的理论数量~7个设备,这是3-4个真正的连接。我知道Wi-Fi热点最多有10个连接。我知道BLE最多可以容纳20个理论连接(虽然不知道真正连接的数量)。如果BLE(理论上)可以拥有20个连接
问题内容: 更改了该方法的结构后,当defer调用两次时会发生什么? 例如: 其中当最后叫什么名字? 问题答案: 它取决于方法的接收者 和 变量的类型。 简短的答案:如果您使用的是包,则延迟的方法将正确关闭两个实例,因为它们具有 指针 接收器, 并且 由于返回了 指针 ( 指针 也是如此)。请参阅下面的推理和解释。 为避免混淆,我建议使用不同的变量,这样会清楚您 想要 什么以及 将要 关闭的内容:
我试图了解更多关于新的苹果iBeacon协议的信息,以及它将如何应用于其他设备。 我已经看到协议本身已经被逆向工程:http://developer.radiusnetworks.com/2013/10/01/reverse-engineering-the-ibeacon-profile.html这是个好消息,但是我对协议还有一些进一步的问题。 协议是否设计为允许自定义文本消息发送到接收方客户端?
对于双向SSL是如何工作的,我有些困惑。客户端如何创建要发送到服务器的证书?是否从服务器生成并分发到客户端? 另外,与单向SSL相比,双向SSL的优势是什么?