Midway Serverless 发布 v1.1,支持传统应用一步上云
Midway Serverless v1.0 发布之后,有不少同学来试用,提建议,感谢大家。
Github: https://github.com/midwayjs/midway, 开源为了前端和 Node.js 的发展,请到 Github 点 Star!
Midway Serverless 在函数开发的部分提供了 一层特殊的防腐层,能让同样的代码,在不同的平台运行,即所谓的运行时适配。而如今,这层适配器不仅仅开发给函数,也开放给传统数以万计的应用,让它们能够快速的迁移到现有的云平台,享受弹性容器的红利。
具体的防腐层设计,我们将在后面的文章详述,现在来看看这个功能如何使用。
使用举例
我们拿传统的 EggJS 应用举例。
整个传统应用迁移的部分和 Midway Serverless 的函数部分使用的基本模式相同,在项目根目录添加一个 f.yml
文件,即可使用 f deploy
发布。
service: my-egg-demo ## 应用发布到云平台的名字 provider: name: aliyun ## 发布的云平台,aliyun,tencent 等 deployType: egg ## 部署的应用类型
整个过程相对比较简单,底层使用的运行时适配和函数是一致的,也达到了一套代码适配多平台的目的。
和平台的迁移方案的区别
Midway Serverless 从 v1.1 版本开始提供了一套应用迁移到 Serverless 容器的方案,而各个平台也已经有自己的方案,比如阿里云的 customRuntime 接入方案,以及腾讯云的各种 Component 组件。 这其中的区别有几个:
-
1、Midway Serverless 提供的平台迁移方案和函数部分相同,是跨平台的,即方案不受限于阿里云或者其他云平台,代码和应用时期一致,不需要(或者很少)做修改
-
2、复用函数的运行时适配能力,可以和函数享受同样稳定的能力,这套适配能力由 Midway Serverless 本身提供,代码开源,也方便排查和定位问题,或者增强能力
-
3、Midway Serverless 这套能力比较通用,私有化部署或者 适配其他应用框架非常容易
Midway Serverless 运行时提供了通用的生命周期,社区的大部分平台我们都会做一层防腐适配,同时这套运行时方案也适合于不同公司的私有化平台,给内部应用使用提供了便利。
上周 7.25 我们在上海阿里云 Serverless 云开发 Workshop 上做了这层运行时防腐层的分享,后续也将提供文字版,欢迎关注。
一些能力限制
Midway Serverless 提供了简单的方案,能够将现有的应用迁移到各家云平台,但是本身还是有一些限制和注意事项,我们列举如下。
-
1、平台网关的限制,比如阿里云和腾讯云网关,超时时间,POST 大小、文件上传等,和函数是一样的,即函数不能做的事情,在这套应用部署方案中依旧不能做
-
2、应用的包部署不宜过大,如果比较大,可以使用云平台的对应方案来解决,比如阿里云的 NAS,或是腾讯云/AWS 的 Layer
-
3、应用在函数容器中的带状态的部分,由应用本身处理,这套方案不负责解决这个问题
-
4、应用在函数容器中部署模型为 单进程,稳定性由弹性容器本身来解决
-
5、应用中有 long runing 或者定时任务的部分,在无流量情况下不会触发,请使用其他方案代替。
-
6、应用中 socket 等非 HTTP 协议,不会生效
最后
函数体系发布之后,我们将依旧回归的到应用本身,去思考如何让函数和应用结合到一起,让应用和函数在不同场景下能够发挥各自最大的作用。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Deno 1.2.1 发布,基于 V8 的 TypeScript 运行时
Deno 于 2020.07.23发布了 v1.2.1 版本。用户可以使用以下命令安装 Deno v1.2.1 版本: Linux/macOS: curl -fsSL https://x.deno.js.cn/install.sh | sh -s v1.2.1 Windows: $v="1.2.1"; iwr https://x.deno.js.cn/install.ps1 -useb | iex Deno CLI 的变更: fix: IPv6 hostname should be compressed (#6772) fix: Ignore polling errors caused byreturn()in watchFs (#6785) fix: ImproveURLcompatibility (#6807) fix:ModuleSpecifierremoves relative path parts (#6762) fix: Share reqwest client between fetch calls (#6792) fix: add icon and meta...
- 下一篇
机器人懂点「常识」后,找东西方便多了:CMU打造新型语义导航AI机器人
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 想让机器人像人一样思考,似乎一直是个难题。 例如,让智(zhi)能(zhang)机器人去客厅拿个遥控器,结果看到机器人在厨房翻箱倒柜… 好消息是,这个问题现在被CMU解决了。 CMU研究团队打造出了一款拥有人类「常识」的导航机器人,让找东西变得更方便。 这款机器人能利用AI判断家中最可能找到目标物体的地点,从而尽快找到它。 例如,让机器人去拿放在「植物」旁边的遥控器,机器人几乎立即检测出了「植物」盆栽所在的位置,从而检测到遥控器的存在。 项目已被ECCV 2020收录,并获得了居住地目标导航挑战赛的第一名。 一起来看看实现的过程。 让机器人「学点常识」 事实上,以往大部分采用机器学习训练的语义导航机器人,找东西的效果都不太好。 相比于人类潜意识中形成的常识,机器人往往有点“死脑筋”,它们更倾向于去记住目标物体的位置。 但物体所处的场景往往非常复杂,而且彼此间差异很大(正所谓每个人的家,乱得各有章法),如果单纯以大量不同场景对系统进行训练,模型泛化能力都不太好。 于是,相比于用更多的样本对...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题