【问题标题】:Is it a good idea to run Socket.io on a Firebase Cloud Function?在 Firebase Cloud Function 上运行 Socket.io 是个好主意吗?
【发布时间】:2019-07-05 12:27:14
【问题描述】:

实现它是可行的,但我已经读到,由于 Cloud Functions 的设计方式,它们并不是使用 socket.io 的最佳方式。为什么?

【问题讨论】:

    标签: firebase socket.io google-cloud-functions


    【解决方案1】:

    实际上,socket.io 不适用于 Cloud Functions。 Cloud Functions 具有以下属性,使其与长寿命套接字连接不兼容:

    1. 云函数的最长持续时间只能是 9 分钟。在那之后,套接字将被强制关闭。这与 socket.io 使套接字连接无限期保持活动的正常期望背道而驰。
    2. Cloud Functions 将读取请求的全部内容,然后才会写入响应的全部内容。只有一次完整的往返 - 客户端不能通过与函数的连接“来回聊天”。

    另见

    【讨论】:

    • 那么替代解决方案是什么?我创建了一个 firebase 应用程序并希望在客户端之间来回发送消息(但我不希望将这些消息存储在数据库中)
    • 我也想知道这个。我正在考虑创建一个免费的 Heroku 节点服务器作为中间人。
    • @AugustJelemson 你找到解决方案了吗?
    【解决方案2】:

    Cloud Functions 是为简单的请求而设计的,它们不是为长时间运行的进程而设计的。如果您想坚持使用无服务器架构,请尝试 Cloud Run。他们在今年(2021 年 1 月)发布了更新,该平台现在能够支持包括 Socket.io 在内的 WebSocket。

    Here is the link to the Cloud Run documentation

    Here is the link to the blog post (their announcement)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-31
      • 2010-11-05
      • 2020-01-12
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      相关资源
      最近更新 更多