egg 应用迁移 | 学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 快速学习egg 应用迁移

发者学堂课程【存量应用快速迁移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,剩下的都选默认。

1.png

 

点击完成创建,创建完成之后,选择开发部署打开IDE。

在IDE打开完成之后,需要把本地的应用代码就是EggJS代码拖拽到class IDE上面,在这里选择官方提供的password简单的应用,把代码拖拽上去,有文件覆盖,需要点击覆盖。文件拖拽完毕之后,可以看一下这个IDE中的资源管理器,package json,已经拖拽完毕,应用代码也已经完成,这边提供默认的几个Serverless框架。首先,ServerlessJS就是一个Serverless框架,然后这个应用是Egg应用,所以它是提供了一个关于egg的Serverless config配置文件,具体该如何上错?先打开readme,里面提供了egg应用迁移方案的地址,打开地址。

2.png

 

会进入下图页面,这个页面提供了相关操作方案。

3.png

 

首先会在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路径也会有相应请求值输出。

4.png

 

当调试完成之后,进行部署,选择要部署的环境以及灰度设置。

5.png

 

之后点击部署,等待部署完成即可。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
Java 关系型数据库 MySQL
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
IDEA(Community版)数据库插件Database Navigator的安装与使用教程
|
安全 关系型数据库 MySQL
|
Rust JavaScript Unix
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
11883 0
|
域名解析 Ubuntu Linux
Docker 镜像基本操作
本文介绍 Docker 镜像最常用的三个基本操作 login、pull、push以及如何登录子账户。通过认识镜像的基本操作,您可以更熟练地使用容器镜像服务 ACR。
8240 0
Docker 镜像基本操作
|
5月前
|
人工智能 API 开发者
用Qwen3+MCPs实现AI自动发布小红书笔记!支持图文和视频
魔搭自动发布小红书MCP,是魔搭开发者小伙伴实现的小红书笔记自动发布器,可以通过这个MCP自动完成小红书标题、内容和图片的发布。
2017 41
|
程序员 数据库 微服务
长事务管理不再难:Saga模式全面解析
本文介绍了分布式事务中的Saga模式,它用于解决微服务架构下的事务管理问题。Saga通过一系列本地事务和补偿操作确保最终一致性,分为编排和协同两种模式。文章重点讲解了编排模式,其中 Saga 协调者负责事务的执行和失败后的补偿。Saga 模式适用于业务流程明确且需要严格补偿的场景,能有效管理长事务,但实现上可能增加复杂性,并存在一致性延迟。文章还讨论了其优缺点和适用场景,强调了在面对分布式事务挑战时,Saga 模式的价值和潜力。
2146 6
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
938 3
|
SQL 监控 druid
MySQL连接池DataSource怎么使用?
**摘要:** 本文探讨了数据库连接池在高并发Web应用中的重要性,特别聚焦于阿里巴巴的DruidDataSource。DruidDataSource是一个高效的Java数据库连接池,包含监控、SQL防护和日志功能。文中通过示例展示了如何配置和使用DruidDataSource,包括在Java应用中的直接配置和在Spring Boot中的集成,并提到了启用SQL监控。此外,还分享了设置连接池参数的技巧,如合理设定初始、最大和最小连接数,并强调了定期监控和使用内置监控工具优化性能的重要性。
659 0
|
测试技术 数据库
深入探索MyBatis-Plus中Service接口的lambdaUpdate用法及示例
深入探索MyBatis-Plus中Service接口的lambdaUpdate用法及示例
2148 0