为阿里云 serverless 打造 Deno 运行时

本文介绍了如何为阿里云函数计算服务创建一个Deno运行时环境,利用Custom Runtime功能,遵循特定条件实现HTTP Server。通过初始化Nodejs环境并修改配置,结合Deno的mod.ts文件,构建Deno Runtime。最后,通过Funfile和bootstrap文件完成部署,展示Deno相比ts-node在内存占用和启动速度上的优势。
摘要由CSDN通过智能技术生成

目前阿里云的函数计算服务只支持 Nodejs、Python、PHP、Java、.Net。Deno 马上发布 1.0 正式版,于是我为阿里云打造了可运行 Deno 的 Serverless 环境。

GitHub 地址 :github.com/justjavac/deno_serverless_aliyun。

阿里云 serverless 除了支持几个主流平台外,还提供了 Custom Runtime 功能,也就是自定义的执行环境。本文基于 Custom Runtime 为阿里云函数计算提供了 Deno 运行时。

实现一个 Custom Runtime,只需要满足以下 3 个条件:

  • 创建一个 HTTP Server,监听在固定端口(端口可以读取环境变量 FC_SERVER_PORT,默认为 9000)。

  • HTTP Serverr 需要在 15 秒内完成启动。

  • connection 最好设置为 keep alive,请求超时时间至少设置在 15 分钟以上。

Custom Runtime 本质上是一个 HTTP Server,代码里面包含一个名为 bootstrap 的启动文件,之后这个 HTTP Server 接管了函数计算系统的所有请求,包括事件调用或者 HTTP 函数调用等。

我们使用官方命令行工具 funcraft 初始化一个函数。默认的选项是没有 custom 的,因此我们初始化一个 Nodejs 环境,然后再修改 template.y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值