开发者学堂课程【存量应用快速迁移:egg 应用迁移】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/342/detail/4013
egg应用迁移
计算型搬站,基于FC的函赘型Serverless,本平台提供NodeJS、Python两种语言的Serverless框架,由框架提供路由分发功能,让存量应用无需修改即可通过本平台部署到FC这种计算服务中,享受FC先进技术红利。
针对Egg应用,提供了基于Serverless框架的一种迁移方案,采用Serverless框架进行迁移,无需应用修改任何业务逻辑,零代码修改直接升级为Serverless架构,那么接下来大家看具体操作。
点击云开发平台进入快速开始页,选择应用搬站,选择语言为NodeJS计算型,应用名称,随便输入一个为Egg搬站,计算服务选择FC,剩下的都选默认。
点击完成创建,创建完成之后,选择开发部署打开IDE。
在IDE打开完成之后,需要把本地的应用代码就是EggJS代码拖拽到class IDE上面,在这里选择官方提供的password简单的应用,把代码拖拽上去,有文件覆盖,需要点击覆盖。文件拖拽完毕之后,可以看一下这个IDE中的资源管理器,package json,已经拖拽完毕,应用代码也已经完成,这边提供默认的几个Serverless框架。首先,ServerlessJS就是一个Serverless框架,然后这个应用是Egg应用,所以它是提供了一个关于egg的Serverless config配置文件,具体该如何上错?先打开readme,里面提供了egg应用迁移方案的地址,打开地址。
会进入下图页面,这个页面提供了相关操作方案。
首先会在package json中添加两个依赖。
完全按照这个来进行操作:
两个依赖是mime和request,把它放在dependencies里。
添加完依赖之后,要安装依赖,稍后进行安装。然后是需要把Serverless_config_egg js文件重命名为Serverless_config js
在这里就不进行重命名了,直接将内容拷贝一下,把Serverless_config_egg js文件覆盖掉。
最后需要配置运行时的逻辑,egg运行过程中会将运行日志默认打到当前的目录下面,当项目运行到线上的时候,它是有一定的规则的,就是FC不允许当前目录可写。所以必须要配置目录的书写规范,需要把日志写到当前磁盘的TMP下面,这样就完成了这个项目的迁移。
//将run目录和日志目录配置到/tmp临时目录,必须:
Config.rundir = /tmp;
Config.logger = {
Dir:/tmp;
}
在项目部署之前可以在本地安装一个依赖,在云端测试项目是否可以运行。Helloworld提供了两个路由,一个是跟路由,一个是foo路由。
依赖安装完成之后可以通过IDE左上角提供的测试功能,在线上实时测试应用。
点击测试,会返回一个链接,打开测试链接,可以正常访问到Helloworld的根路径,还会有访问的日志输出,访问foo路径也会有相应请求值输出。
当调试完成之后,进行部署,选择要部署的环境以及灰度设置。
之后点击部署,等待部署完成即可。