【问题标题】:Do Cloud Functions count as concurrent connections to Firebase Realtime Database?Cloud Functions 是否算作与 Firebase 实时数据库的并发连接?
【发布时间】:2018-06-09 08:26:39
【问题描述】:

在我的项目中,我使用实时数据库和 Firestore 数据库。当文档添加到我的 Firestore 数据库中的特定集合时,我的云函数会触发。然后该函数写入我的实时数据库以更新一些统计数据。我注意到即使没有用户连接到我的实时数据库,当云函数写入实时数据库时,并发连接数也会增加。这是否意味着我的云功能算作并发连接,并且会减少可以同时连接到我的实时数据库的用户数量,因为有 10 万个并发连接的限制?

【问题讨论】:

    标签: firebase firebase-realtime-database google-cloud-functions google-cloud-firestore


    【解决方案1】:

    每个运行您的函数的服务器实例都会产生一个连接。它不是每个单独的函数调用。因此,如果它只需要一个服务器实例来运行您的功能,那么它只需要一个连接。当服务器实例从您的项目中自动解除分配时,其连接将消失。

    您将需要一组 非常 繁忙的函数,以便真正降低实时数据库的 100K 并发连接上限。我不会担心的。

    【讨论】:

    • 只是出于好奇:如果 Cloud Functions 中的代码连接回 Firebase 数据库怎么办?而对于那个答案:如果你使用event.data.ref/event.data.adminRefadmin.database().ref(),会有区别吗?
    • 还有一件事让我感到困惑。在文档中它说有 1,000 次写入操作/秒的限制。因此,如果我创建聊天功能,发送的每条消息都将写入接收方和发送方节点。这是否意味着只有 500 名用户可以同时发送一条消息,即使有 99,5K 连接仍然存在?
    • @FrankvanPuffelen 我将对此进行对冲,因为 adminRef 最终将被弃用(在这种情况下,您应该直接使用 admin SDK)。但是今天,无论哪种情况,该功能都由 admin SDK 提供支持。所以,无论它处理这两种情况是什么都是你可以期待的。也许这意味着不同的联系。
    • @Lukas123321 您问题的答案取决于您对“同时”的定义。请记住,时间不是问题。这是写竞争的数量。所有写入都将通过 - 每个可能只需要等待完全同步。
    • @DougStevenson 感谢您回答我的问题。但是如果有必要,是否可以取消 1000 次写入操作/秒的限制?
    猜你喜欢
    • 2019-10-03
    • 2018-08-19
    • 2020-10-14
    • 2021-11-17
    • 2020-02-21
    • 2017-10-18
    • 2018-06-22
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多