暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Web Function 能力升级,原生支持 WebSocket 协议

腾讯云云函数 2021-10-11
1229

云函数 Web Function 能力推出后,对于原生框架的无改造直接部署,在性能和开发流程上,都受到了众多开发者的好评。在一期能力的基础上,Web Function 现已支持 WebSocket 协议,实现客户端和函数运行的服务端间建立长连接。


01.

工作原理

1. 服务启动与连接建立

与 HTTP 协议一样,Web 函数支持在官方或自定义的运行环境中,使用启动文件启动 WebSocket 服务器,并在指定端口(9000)上进行监听,通过前端 API 网关提供的 WS 路径,接收到客户端连接请求后,完成连接的建立。
连接建立后,客户端及服务端按 WebSocket协议进行正常通讯。

2. WebSocket 连接生命周期

在 Web 函数的 WebSocket 支持的情况下, WebSocket 一次连接的生命周期,等同于一次函数调用请求;WS 连接建立过程等同于请求发起阶段,WS 连接断开等同于请求结束。

02.
控制台部署体验

1. 创建函数

在通过控制台创建函数时,可以通过选择自定义创建、选择 Web 函数、展开高级配置来看到协议支持选项。
通过勾选 WebSocket 支持,配置好 WebSocket 空闲超时时间,来完成 WebSocket 协议支持。
同时在勾选 WebSocket 支持后,API 网关的协议支持同样将自动切换为 WS&WSS 支持,创建的 API 网关所提供的链接地址,也将是 WebSocket 地址。
在完成创建后,WebSocket 的协议支持不可取消,但可以根据需求修改空闲超时时间配置。

03.
示例代码

目前可以通过如下的 Demo 代码来创建函数,体验 WebSocket 效果:
  • Python 示例:使用 WebSockets 库实现 WebSocket 服务端;
    • Python 示例获取地址:https://github.com/awesome-scf/scf-python-code-snippet/tree/main/ws_python
  • Node.js 示例:使用 WebSockets 库实现 WebSocket 服务端;
    • Node.js 示例获取地址:https://github.com/awesome-scf/scf-nodejs-code-snippet/tree/main/ws_node
  • WebSockets 库:https://github.com/websockets/ws

04.
云函数 WebSocket 内测体验

现已开启内测,识别下方 👇 二维码,立即申请体验!





Web Function 使用体验
(请在 PC 端访问)
  • Web Function 产品文档:
    https://cloud.tencent.com/document/product/583/56123
  • Web Function 快速体验链接:
    https://console.cloud.tencent.com/scf/list-create?rid=16&ns=default&keyword=WebFunc
当前已在国内各大区域发布上线,欢迎体验使用!


推荐阅读

One More Thing

欢迎进入千人 QQ 群 (871445853) 交流 Serverless!
  • GitHub: github.com/serverless
  • 官网: cloud.tencent.com/product/serverless-catalog
点击「阅读原文」,立即申请 云函数 WebSocket 内测体验!
文章转载自腾讯云云函数,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论