平滑迁移微服务应用至EDAS
当您在本地已经部署了可以正常运行的微服务应用,可以参照本篇教程将微服务应用平滑迁移至EDAS。
前提条件
本文以在本地搭建了一个OnlineShop微服务应用为前提进行步骤说明,具体操作,请参见搭建本地微服务应用环境。如果您在本地已有其他正在运行的微服务应用,可以直接参照本篇教程完成迁移工作。
创建微服务空间
登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在微服务空间页面右上角,单击创建微服务空间。
- 在创建微服务空间对话框配置微服务空间参数,然后单击创建。
配置项 描述 微服务空间 请输入创建的微服务空间的名称。 微服务空间ID 请输入自定义的字符形成微服务空间的ID,仅允许输入英文字母或数字。 注册配置中心 - MSE Nacos:您购买的阿里云MSE Nacos引擎,可与EDAS无缝结合,实现服务注册及配置管理。
- EDAS注册配置中心:EDAS提供的免费服务注册配置中心。若应用对性能及稳定性有比较高的要求, 建议使用MSE Nacos作为服务注册配置中心。
MSE Nacos实例 MSE构建的Nacos实例。具体操作,请参见创建MSE Nacos实例。 归属地域 当前微服务空间所归属的地域,不可更改。 允许远程调试 如果您需对应用进行端云互联,请手动开启允许远程调试。端云调试的相关操作,请参见端云互联简介。 描述 请输入一段文字来描述微服务空间。
操作步骤
登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在EDAS ECS集群页面顶部菜单栏选择地域,在页面选择微服务空间,然后单击创建集群。微服务空间可以在该页面选择,也可以在创建集群对话框选择。
- 如果有环境隔离的需求,请选择您创建的微服务空间。
- 如果没有环境隔离的需求,可以选择默认微服务空间。
- 在创建集群对话框设置集群参数,然后单击创建。
配置项 描述 集群名称 集群名称仅支持字母、数字、下划线(_)和英文句号(.),且长度不能超过64个字符。 集群归属 - 阿里云:阿里云ECS集群。
- 非阿里云:非阿里云ECS集群,即混合云集群。混合云集群可以将阿里云ECS、本地IDC或其它云服务提供商的服务器通过专线连通,并添加到非阿里云集群中。更多信息,请参见创建混合云ECS集群。
集群类型 仅支持ECS。 集群网络类型 包含经典网络和专有网络。 重要 非阿里云ECS集群的网络类型只能选择专有网络。VPC网络 选择专有网络后,需要选择创建的VPC。 微服务空间 集群所属的微服务空间。默认显示为在EDAS ECS 集群页面选择的微服务空间。如果未选择,列表中将显示默认微服务空间。请根据实际需求选择。 资源组 集群所属的资源组。该资源组为当前账号在阿里云资源管理中创建的资源组,而非EDAS的资源组。如果没有资源组,可以单击创建资源组,跳转到阿里云资源管理控制台进行创建。具体操作,请参见创建资源组。 集群创建成功后会在当前页面上方出现创建成功的提示,同时新创建的集群会在集群列表中显示。
在EDAS中部署微服务应用
参照下面步骤分别在EDAS部署Cart Service、Product Service和Frontend应用。下面介绍如何创建服务提供者,服务消费者的创建步骤与此类似。
登录EDAS控制台。
在左侧导航栏,单击 ,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面左上角,单击创建应用。
在创建应用页面的应用基本信息页签设置应用信息,然后单击下一步。
配置项
描述
集群类型
在本教程中选择ECS集群为例。
应用运行环境
在本教程中选择Java,Java环境选择Open JDK 8。
应用名称
输入您的自定义名称。
(可选)应用描述
输入应用的描述。
在创建应用页面的应用配置页签设置应用部署包和实例信息,然后单击下一步。
配置项
描述
部署包来源
在本教程中选择自定义程序。
文件上传方式
在本教程中选择上传JAR包。
上传JAR包
上传您的JAR部署包。
实例来源
选择购买新实例。
环境
选择自定义环境。
微服务空间
微服务空间可以实现资源和服务的隔离,请选择您创建的微服务空间,如果您没有创建微服务空间,此处将会为您分配默认微服务空间。
集群
集群指应用运行所需的云资源组合,选择您在上面步骤中创建的集群。
购买方式
此处选择基于推荐规格购买。
说明如果您的集群中已经导入了ECS实例,可以选择基于现有实例规格购买。
如果您在ECS控制台已创建了实例启动模板,可以选择基于实例启动模板购买。
选择规格
此处以选择小规格实例为例。
购买数量
在数字微调框中设置数量,默认为1。
登录密码
此密码用于登录此次购买的ECS实例,请做好记录存档工作。如忘记、丢失密码可在ECS控制台重置密码,重启实例生效。
服务协议
勾选《云服务器 ECS 服务条款》 | 《镜像商品使用条款》。
接入任务调度
更多信息,请参见EDAS应用接入SchedulerX。
在应用高级配置页签中输入以下信息,然后单击创建应用。
配置项
描述
版本
EDAS配置默认以当前时间戳作为版本,格式为
yyyymmdd:hhmmss
。您也可以设置其他版本标识。(可选)应用健康检查
设置健康检查的URL,用来检测应用是否健康运行。
在分组设置(选填)页签,选择资源组,然后单击创建应用。
在应用创建完成页签确认应用基本信息、应用配置和应用高级设置,然后单击确定创建应用。
为应用设置JVM参数信息。
在应用的基本信息页签,单击JVM参数右侧的编辑。
在应用设置对话框的自定义区域输入配置:
-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false
,然后单击配置JVM参数。重要当您使用自建Nacos注册中心需要添加该JVM参数。
当您使用EDAS自带的注册中心或者自建的非Nacos注册中心时,无需添加上述JVM参数。
单击实例部署信息页签,在应用实例的操作列单击重启,然后根据页面提示完成应用重启。
登录MSE控制台,在左侧导航栏,单击注册配置中心 > 实例列表。
在实例列表页面,单击实例ID进入实例基础信息页面,在左侧导航栏单击服务管理 > 服务列表查看服务信息。您可以看到Cart Service的提供者数量变为2个。
重复以上步骤1~8完成Product Service和Frontend应用的部署。
完成所有应用部署后,可以在浏览器中输入
http://{Frontend应用实例的公网IP地址}:8080
来访问应用。
切换访问流量至EDAS
目前OnlineShop项目在EDAS和ECS环境内均部署了一套,并且流量一直流转到了部署在ECS内的Frontend应用对应的ECS实例上,目前部署在EDAS上的项目是没有流量的,故您接下来需要重新设置SLB的默认服务器,将流量切换到EDAS上。
登录SLB控制台。
在绑定到的Frontend应用的SLB实例的操作列单击添加后端服务器,然后在我的服务器面板中选择在EDAS上部署了Frontend应用的实例。
修改两个后端服务器的权重。
观察调用请求是否正常。
完全切换流量至部署在EDAS中的应用。
持续观察流量请求是否正常。
流量请求正常后,说明流量已经完全成功分发到EDAS的应用实例,您可以关闭ECS上的项目并删除ECS实例。