当您在本地已经部署了可以正常运行的微服务应用,可以参照本篇教程将微服务应用平滑迁移至EDAS。

前提条件

本文以在本地搭建了一个OnlineShop微服务应用为前提进行步骤说明,具体操作,请参见搭建本地微服务应用环境。如果您在本地已有其他正在运行的微服务应用,可以直接参照本篇教程完成迁移工作。

创建命名空间

  1. 登录EDAS控制台
  2. 在左侧导航栏中选择资源管理 > 命名空间
  3. 命名空间页面右上角单击创建命名空间
  4. 创建命名空间对话框配置命名空间参数,然后单击创建
    创建命名空间
    参数描述
    命名空间名称请输入您创建的命名空间的名称。
    命名空间ID请输入自定义的字符来形成命名空间的ID,仅允许输入英文字母或数字。
    归属地域当前命名空间所归属的地域,不可更改。
    允许远程调试当您想对应用进行端云互联时,您在该应用所在的命名空间的编辑页面手动开启允许远程调试。端云调试的相关操作,请参见EDAS开发指南的端云互联简介章节。
    描述请输入一段文字来描述命名空间。

操作步骤

  1. 登录EDAS控制台
  2. 在左侧导航栏,选择资源管理 > EDAS ECS集群
  3. EDAS ECS集群页面顶部菜单栏选择地域,在页面选择微服务空间,然后单击创建集群
    微服务空间可以在该页面选择,也可以在创建集群对话框选择。
    • 如果有环境隔离的需求,请选择您创建的微服务空间。
    • 如果没有环境隔离的需求,可以选择默认微服务空间。
  4. 创建集群对话框设置集群参数,然后单击创建
    创建ECS集群
    配置项描述
    集群名称集群名称仅支持字母、数字、下划线(_)和英文句号(.),且长度不能超过64个字符。
    集群归属
    • 阿里云:阿里云ECS集群。
    • 非阿里云:非阿里云ECS集群,即混合云集群。混合云集群可以将阿里云ECS、本地IDC或其它云服务提供商的服务器通过专线连通,并添加到非阿里云集群中。更多信息,请参见创建混合云ECS集群
    集群类型仅支持ECS
    集群网络类型包含经典网络专有网络
    重要 非阿里云ECS集群的网络类型只能选择专有网络
    VPC网络选择专有网络后,需要选择创建的VPC。
    微服务空间集群所属的微服务空间。默认显示为在EDAS ECS 集群页面选择的微服务空间。如果未选择,列表中将显示默认微服务空间。请根据实际需求选择。
    资源组集群所属的资源组。该资源组为当前账号在阿里云资源管理中创建的资源组,而非EDAS的资源组。如果没有资源组,可以单击创建资源组,跳转到阿里云资源管理控制台进行创建。具体操作,请参见创建资源组
    集群创建成功后会在当前页面上方出现创建成功的提示,同时新创建的集群会在集群列表中显示。

在EDAS中部署微服务应用

参照下面步骤分别在EDAS部署Cart Service、Product Service和Frontend应用。下面介绍如何创建服务提供者,服务消费者的创建步骤与此类似。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面左上角,单击创建应用
  3. 创建应用页面的应用基本信息页签设置应用信息,然后单击下一步
    设置应用基本信息
    参数描述
    集群类型在本教程中选择ECS集群为例。
    应用运行环境在本教程中选择Java,Java环境选择Open JDK 8
    应用名称输入您的自定义名称。
    (可选)应用描述输入应用的描述。
  4. 创建应用页面的应用配置页签设置应用部署包和实例信息,然后单击下一步
    应用配置
    参数描述
    部署包来源在本教程中选择自定义程序
    文件上传方式在本教程中选择上传JAR包
    上传JAR包单击选择文件上传您的JAR部署包。
    实例来源选择购买新实例
    环境选择自定义环境
    命名空间命名空间可以实现资源和服务的隔离,请选择您创建的命名空间,如果您没有创建命名空间,此处将会为您分配默认命名空间。
    集群集群指应用运行所需的云资源组合,选择您在上面步骤中创建的集群。
    购买方式此处选择基于推荐规格购买
    说明
    • 如果您的集群中已经导入了ECS实例,可以选择基于现有实例规格购买
    • 如果您在ECS控制台已创建了实例启动模板,可以选择基于实例启动模板购买
    选择规格此处以选择小规格实例为例。
    购买数量在数字微调框中设置数量为1。
    登录密码此密码用于登录此次购买的ECS实例,请做好记录存档工作。如忘记、丢失密码可到ECS控制台重置密码,重启实例生效。
    服务协议勾选《云服务器 ECS 服务条款》 | 《镜像商品使用条款》
  5. 应用高级配置页签中输入以下信息,然后单击创建应用
    参数描述
    版本EDAS配置默认以当前时间戳作为版本,格式为 yyyymmdd:hhmmss。您也可以设置其他版本标识。
    (可选)应用健康检查设置健康检查的URL,用来检测应用是否健康运行。
  6. 应用创建完成页签确认应用基本信息、应用配置和应用高级设置,然后单击确定创建应用
  7. 为应用设置JVM参数信息。
    1. 在应用的基本信息页签,单击JVM参数右侧的编辑
      编辑JVM
    2. 应用设置对话框的自定义区域输入配置:-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false,然后单击配置JVM参数
      重要
      • 当您使用自建Nacos注册中心需要添加该JVM参数。
      • 当您使用EDAS自带的注册中心或者自建的非Nacos注册中心时,无需添加上述JVM参数。
      自定义JVM参数
  8. 单击实例部署信息页签,在应用实例的操作列单击重启,然后根据页面提示完成应用重启。
    登录MSE控制台,在实例列表页面单击实例ID进入实例基础信息页面,在左侧导航栏单击服务管理查看服务信息。您可以看到Cart Service的提供者数量变为2个。服务注册信息
  9. 重复以上步骤1~8完成Product Service和Frontend应用的部署。
    完成所有应用部署后,可以在浏览器中输入http://{Frontend应用实例的公网IP地址}:8080来访问应用。

切换访问流量至EDAS

目前OnlineShop项目在EDAS和ECS环境内均部署了一套,并且流量一直流转到了部署在ECS内的Frontend应用对应的ECS实例上,目前部署在EDAS上的项目是没有流量的,故您接下来需要重新设置SLB的默认服务器,将流量切换到EDAS上。

  1. 登录SLB控制台
  2. 在绑定到的Frontend应用的SLB实例的操作列单击添加后端服务器,然后在我的服务器面板中选择在EDAS上部署了Frontend应用的实例。
    添加后端服务器
  3. 修改两个后端服务器的权重。
    修改后端服务器权重
  4. 观察调用请求是否正常。
    观察调用请求
  5. 完全切换流量至部署在EDAS中的应用。
    完全切流
  6. 持续观察流量请求是否正常。
  7. 流量请求正常后,说明流量已经完全成功分发到EDAS的应用实例,您可以关闭ECS上的项目并删除ECS实例。