开发者学堂课程【Springboot 项目云开发快速迁移:SpringBoot 项目与被开发快速迁移】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/54/detail/1023
SpringBoot 项目与被开发快速迁移
内容介绍:
一、前置条件:SpringBoot 应用需要满足
二、应用迁移
三、环境管理、应用配置参数说明
四、将一个存量的 SpringBoot 应用迁移到云开发平台
一、前置条件:SpringBoot 应用需要满足
1、无状态:
(1)存储:传统应用直接访问本地把文件传输到本地,进场方式通过网络文件方式及阿里云的ns存储。
(2)cookie状态:传统应用下是有状态的,因为把cookie存储在服务端的应用里,是具有弹性的。如果用户漂移到另外一台,这个cookie并不会带过去。
有三种处理方式使cookie无状态:
①在服务端开一个midiss;
②做一个大型的业务:做cookie的服务;
③轻量级的方式:把绘画信息直接通过cookie的方式存储,在页面和服务没有来回传递,用户飘移到任何一台都是最新的状态。
2、并发执行特性:
一些情况下的特殊处理。
二、应用迁移
把 SpringBoot 应用迁移到云开发平台上,需要满足的一些约束:
1、SpringBoot 版本要求;
2、POM 配置约束;
三、环境管理、应用配置参数说明
1、配置原理;
2、集成使用;
四、将一个存量的 SpringBoot 应用迁移到云开发平台
首先打开云开发平台,点击创建应用,开发语言选择J ava,计算服务部署在 SAE 上(ASK 也可以),解决方案选择SpringBoot 应用迁移方案,第二步应用名称填写 SpringBoot 应用SAE。
点击完成后在菜单里看到几个信息,分别是日常、预发、线上,它们表示三套应用环境的一些状态,日常预发线上的 offline 即表示还未部署。下方成员管理,点击即可邀请其他成员参与这个项目来协作开发。
点击环境管理可以设置应用部署到哪个环境上以及主机规格。
应用配置主要是为了隔离多个环境,如果日常预发线上环境连的数据库、中心电服务不一样,应用配置连接相关的配置也不一样,那么应用配置可以保证代码是一套的。
打开 Clond IDE,里面已经有迁移的脚本夹。
其中包含三个文件:有镜像构建的脚本 Dockerfile,有启动脚本生成脚本 prepare.sh,有迁移帮助文档README.md。
第一步创建云应用并且打开 Clond IDE。
第二步把存量的 SpringBoot 应用迁移到云开发目录,拖动工程目录下的 src、pom.xml 到 Clond IDE 工程目录下,完成迁移。
第三步修改 pom.xml,以满足云开发平台构建镜像的规范,把迁移帮助文档 README.md中的代码“<applicationName>${project.artifactId}</applicationName”
复制到 pom.xml 文件。
将这些代码提交到代码仓库里,再把这个代码推送到远程代码仓库。H2是一个类型数据库,是为了方便本地开发,环境都配置好之后就开始部署,镜像构建并推送至镜像仓库,SAE 服务编排应用部署。
进入首页,输入用户名和密码进入
在右侧新建任务中添加信息,就会显示出来,
来到 H2的管理界面:
输入密码进入任务内容及任务明细:
部署到日常环境,验证后需要发布到预发环境,再次验证后发布到线上环境。
开发者默认创建临时域名,临时域名有效期半个小时。如果开发者需要部署到线上,则需要在应用配置里面去配置域名(需要备案)。
本节主要讲述应用创建,把现有的代码迁移到工程目录里需保证应用是无状态的以及并发执行特性。
然后部署到云端,其中有三套环境:日常、预发和线上环境,每套环境可以通过应用配置来隔离环境。
若需要对存量的应用进行互联互通,可以在环境管理里选择专有网络和交换机,或设置安全组来提高安全性。当然云开发平台会默认这些基础设施创建完成。