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

前提条件

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

创建命名空间

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

创建集群

  1. 登录EDAS控制台
  2. 在左侧导航栏选择资源管理 > EDAS集群,在页面左上角选择地域并在页面上方选择命名空间。
  3. EDAS集群页面左侧单击创建集群
  4. 创建集群对话框中设置集群参数,然后单击创建
    创建集群
    参数 描述
    集群名称 输入集群名称。名字仅支持字母、数字、下划线(_)和英文句号(.),且长度不能超过64个字符。
    集群归属
    • 您可以选择阿里云来创建一个可以代购或导入阿里云ECS实例的集群。
    • 您可以选择非阿里云来创建一个非阿里云ECS集群,将您在公共云、本地IDC或其它云服务提供商的实例通过专线连通,并添加到EDAS的非阿里云ECS集群中。
    集群类型 选择ECS
    集群网络类型 您可选择经典网络专有网络,选择专有网络后还需选择VPC。
    注意 非阿里云ECS集群的网络类型只能选择专有网络
    VPC网络 选择您创建的VPC。
    命名空间 默认显示在EDAS集群页面选择的命名空间,您也可以在下拉列表中选择其他命名空间。如果在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实例。

更多信息