使用 TSF Serverless 搭建 Socket WEB

首先,来介绍下啥是 TSF Serverless ,TSF-S 全称 Serverless 微服务平台(Tencent Service Framework Serverless,TSF Serverless)是可承载核心生产应用的一站式 Serverless 开发平台。

或者可以理解为原 TSF(微服务平台,偏 Spring Cloud 、Service Mesh ) Serverless 化,最关键的是,目前Serverless部署组会支持node.8.9,并且有望支持几乎全栈开发语言。

哈哈,讲了这么多,我们来看一个栗子吧:

 

http://socket1-1251746107.gz.apigw.tencentcs.com/

 

这是一个很简单的socket.io搭建的demo,可以实现实时同步聊天的基础socket能力,主要依赖express+socket,废话有点多了,下面我们来看如何上手吧:

TSF-S现在处于内测阶段,感兴趣的童鞋可以去这里申请内测资格:

 

https://cloud.tencent.com/apply/p/om62iz2gqx

 

首先,进行第一步,大家都不陌生的初始化,随便建一个目录就可以开始了!

npm init

完成后,我们来在本地打包依赖(注意,目前TSF-S不支持在线打包哦,我们需要将所有环境都配置好)

npm install express –save

npm install –save socket.io

git clone https://github.com/socketio/chat-example.git  # socketio demo

完成后大致是这样的:

 

 

其实,我们现在在本地跑 node index.js 也是可以运行的。

重点来了,如果我们将包整个打到TSF-S其实是没法知道我们到底在跑什么命令或者配置的,所以我们需要增加一个 start.sh文件,它用的是shell脚本,所以你懂得.jpg。

具体启动命令可以参考这个:

#! /bin/bash
node index.js

当然,也可以搞成这样

#!/bin/sh
already_run=`ps -ef|grep "node index.js"|grep -v grep|wc -l`
if [ ${already_run} -ne 0 ];then
    echo "node app already Running!!!! Stop it first"
    exit -1
fi
nohup node index.js &

然后的然后,我们将文件打包为ZIP,就可以进行下一步的上传啦。

如果想要了解更多start.sh的情况,可以点我

比较懒的同学可以用我打包好的demo例子:

http://95s.pw/3q

我们可以直接点进下面的链接:

https://console.cloud.tencent.com/tsf/app?rid=1

然后选择 “新建应用”

 

 

没错,就是红框那个,大家可以放心大胆的用,现在内测似乎是免费的。

 

 

创建完成后,根据提示上传我们的程序包,这里就是我们刚刚在本地打包好的项目啦~哈哈哈

然后我们选到部署组并新建:

 

 

大功告成,我们只需静待应用部署完成即可。

当然,我们可以在 “访问管理” 配置APIGW的访问地址,就像文章最前面写的地址一样

 

 

其实,个人觉得SCF相较于TSF-S,函数封装的方式会劝退很大一部分开发者,涉及的业务改造面太广。反而类似TSF-S这种配合微服务的事务管理,全链管理等轻量级Serverless微服务应用可能会更受开发者喜欢。

使用中有任何问题,可以随时在留言区留言哦~