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

前提条件

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

创建命名空间

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

创建 ECS 集群

  1. 登录 EDAS 控制台,在页面左上角选择地域。
  2. 在左侧导航栏中,选择资源管理 > 集群
  3. 集群页面上方选择命名空间,然后在右侧单击创建集群
  4. 创建集群对话框中设置集群参数,然后单击创建
    EDAS资源管理之创建ECS集群
    • 集群名称:输入集群名称。名字仅支持字母、数字、下划线(_)、中划线(-)和点(.),且长度不能超过64个字符。
    • 集群类型:选择 ECS
    • 集群网络类型:包括经典网络和 VPC 网络。根据实际需求在下拉菜单中选择网络类型。

    • VPC 网络:在下拉菜单中选择 VPC。

      说明:如果没有可选 VPC 网络,请单击创建 VPC 跳转到 VPC 控制台创建。

    • 命名空间:显示在集群列表页面选择的命名空间,不可配置。如果未选择,则默认显示地域。

    集群创建成功后当前页面右上角会出现创建成功的提示,同时新创建的集群会在集群列表中显示。

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

更多信息