使用阿里云函数计算和 Websocket,轻松开发 Serverless 实时应用

函数计算能够让开发者无需管理服务器(Serverless),只需要编写函数代码就能快速搭建应用。并且函数计算能够弹性地伸缩,用户只需要按使用量进行付费。

如今越来越多的应用(特别是移动端)需要双向通信的能力,例如即时通信 /在线游戏等,阿里云 API 网关提供了基于 Websocket 的双向通信能力。结合函数计算,开发者能够快速地构建具有实时通信能力的应用,并且这个应用能够充分利用函数计算的弹性伸缩特点,轻松应对高并发请求。

为此,我做了一个demo,只用了133 行函数代码,实现了一个实时协作的编辑器,打开同一个 id 的文档,所有用户都能够在上面实时编辑,打开同一个文档的用户能够实时地看到别人的更改。

使用阿里云函数计算和 Websocket,轻松开发 Serverless 实时应用

架构如下:

使用阿里云函数计算和 Websocket,轻松开发 Serverless 实时应用

  1. 客户端通过 websocket 在 API 网关注册设备
  2. API 网关将注册请求发送到 FC 的 Register 函数,在函数中保存当前在线的设备
  3. 客户端通过 API 网关调用 Send 函数发送消息
  4. Send 函数将消息通过 API 网关的 Notify API 通知到在线的设备

项目地址: https://github.com/awesome-fc/fc-websocket

同样的架构,可以用来开发即时通信应用 /棋牌游戏 /... 欢迎大家来玩!

对函数计算感兴趣的同学,可以扫瞄二维码加入到我们的用户群中来:

使用阿里云函数计算和 Websocket,轻松开发 Serverless 实时应用

上一篇:判断当前是否在微信浏览器环境


下一篇:如果给你一个 shell,你可以干什么?