我听说Cloud Functions第二代是建立在支持Websockets的Cloud run之上的。 这是否意味着Cloud Functions第二代也能处理Websockets?
我听说Cloud Functions第二代是建立在支持Websockets的Cloud run之上的。 这是否意味着Cloud Functions第二代也能处理Websockets?
我不这么认为。
云函数是一种完全按需无服务器的FAAS。函数的目的是在事件发生时(pub/sub触发器、http请求等)启动,执行一些计算逻辑,然后死亡。
Web套接字确实需要保持连接,因此云函数不适合这种情况。
选择Cloud Run(从函数来说学习曲线较低 - 不需要Docker知识)或者研究使用Firebase Datastore选项以实现客户端/服务器读写并保持同步(甚至比Web套接字更容易)。
onRequest
并从req.socket.server
中获取服务器,以便您可以调用server.on("update", ...)
。客户端还需要一个重试机制来处理第一次调用,或者您可以插入一个文件范围的预热函数,使得在真正的客户端调用到达之前,server.on("update", ...)
监听器会被附加上。有关更多详细信息,请参见https://dev59.com/7VcO5IYBdhLWcg3weRhs#77153547。