更新时间:2024-05-21 GMT+08:00
分享

源码部署微服务

业务场景

基于ServiceStage可以方便快捷的将微服务部署到容器(如CCE)、虚拟机(如ECS),同时支持源码部署、jar/war包部署或docker镜像包部署。同时,ServiceStage支持Java、PHP、Node.js、Python等多种编程语言应用的完全托管,包括部署、升级、回滚、启停和删除等。

本实践中使用了Java开发的后台组件和Node.js开发的前台组件。

用户故事

在本实践中,您可以通过容器部署的方式部署应用并将微服务实例注册到微服务引擎CSE中,weathermap应用需要创建以下组件:
  1. 前台组件:weathermapweb,基于Node.js语言开发的界面。
  2. 后台组件:weather、fusionweather、forecast、edge-service,基于Java语言开发。

微服务部署有以下几个操作过程:

  1. 创建并部署后台应用组件
  2. 设置edge-service组件访问方式
  3. 创建并部署前台组件
  4. 确认部署结果
  5. 添加访问方式
  6. 访问应用

创建并部署后台应用组件

此处需要创建并部署4个应用组件:weather、forecast、fusionweather、edge-service,对应后台构建任务生成的4个软件包。

  1. 登录ServiceStage控制台。
  2. 单击“应用管理”,进入应用列表。
  3. 单击创建应用时创建的应用名称(例如:weathermap)“操作”栏的“新增组件”。
  4. “基本信息”区域,参考下表设置必填组件基本信息,其余参数保持默认。

    参数

    说明

    组件名称

    输入对应的后台组件名称(例如:weather)。

    组件版本

    单击“自动生成”,默认以您单击“自动生成”时的时间来生成版本号。格式为yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.0803.104321,则版本号为2022.0803.10431。

    所属环境

    选择创建环境时创建的环境(例如:env-test)。

    所属应用

    选择创建应用时创建的应用(例如:weathermap)。

  5. “组件包”区域,参考下表设置必填组件包参数,其余参数保持默认。

    参数

    说明

    技术栈

    组件技术栈类型选择Java。

    源码/软件包

    1. 选择“源码仓库”,选择“GitHub”
    2. “授权信息”选择设置GitHub仓库授权时创建的授权信息。
    3. “用户名/组织”选择Fork天气预报源码时登录您的GitHub使用的用户名。
    4. “仓库名称”选择已Fork到您的GitHub下的天气预报源码仓库的名称,例如:weathermap。
    5. “分支”选择“master”

  6. “构建”区域,设置必填构建参数。

    1. “编译命令”:保持默认。
    2. “Dockerfile地址”:参考下表设置。

      组件名称

      Dockerfile地址

      weather

      ./weather/

      forecast

      ./forecast/

      fusionweather

      ./fusionweather/

      edge-service

      ./edge-service/

    3. “组织”:选择创建组织时创建的组织名称。
    4. “构建环境”:选择“使用当前环境构建”
    5. 其余参数,保持默认。
    图1 设置构建参数

  7. 单击“下一步”
  8. “资源”区域,参考下表设置各组件“实例数”,其余参数设置保持默认。

    组件名称

    实例数

    weather

    2

    forecast

    1

    fusionweather

    1

    edge-service

    1

  9. “访问方式”区域,参数设置保持默认。
  10. “时区”区域,参数设置保持默认。
  11. 绑定微服务引擎。

    • 组件部署以后,微服务会注册到设置的微服务引擎。
    • 所有组件需要注册到同一个微服务引擎,才能互相发现。
    1. “高级设置”区域,展开高级设置 > 微服务引擎
    2. 单击“绑定微服务引擎”
    3. 选择当前环境下已纳管的微服务引擎。
    4. 单击“确定”
    图2 绑定微服务引擎

  12. 单击“创建并部署”

设置edge-service组件访问方式

  1. 单击左上角,返回“应用管理”页面。
  2. 单击创建应用时创建的应用名称(例如:weathermap),进入“应用概览”页。
  3. “组件列表”,单击edge-service所在行“外部访问地址”列的“设置”,进入“访问方式”页面。
  4. 单击“TCP/UDP路由配置”区域的“添加服务”,参考下表设置参数。

    参数

    说明

    服务名称

    保持默认。

    访问方式

    选择“公网访问”。

    访问类型

    选择“弹性IP”

    服务亲和

    保持默认。

    协议

    选择TCP。

    容器端口

    填写3010。

    访问端口

    选择“自动生成”

    图3 设置edge-service组件访问方式

  5. 单击“确定”,生成访问地址。

创建并部署前台组件

  1. 单击左上角,返回“应用管理”页面。
  2. 单击创建应用时创建的应用名称(例如:weathermap)“操作”栏的“新增组件”。
  3. “基本信息”区域,参考下表设置必填组件基本信息,其余参数保持默认。

    参数

    说明

    组件名称

    输入前台组件的名称:weathermapweb。

    组件版本

    单击“自动生成”,默认以您单击“自动生成”时的时间来生成版本号。格式为yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.0803.104321,则版本号为2022.0803.10431。

    所属环境

    选择创建环境时创建的环境(例如:env-test)。

    所属应用

    选择创建应用时创建的应用(例如:weathermap)。

  4. “组件包”区域,参考下表设置必填组件包参数,其余参数保持默认。

    参数

    说明

    技术栈

    组件技术栈类型选择Node.js。

    源码/软件包

    1. 选择“源码仓库”,选择“GitHub”
    2. “授权信息”选择设置GitHub仓库授权时创建的授权信息。
    3. “用户名/组织”选择Fork天气预报源码时登录您的GitHub使用的用户名。
    4. “仓库名称”选择已Fork到您的GitHub下的天气预报源码仓库的名称,例如:weathermap。
    5. “分支”选择“master”

  5. “构建”区域,设置必填构建参数。

    1. “编译命令”:保持默认。
    2. “Dockerfile地址”:参考下表设置。

      组件名称

      Dockerfile地址

      weathermapweb

      ./weathermapweb/

    3. “组织”:选择创建组织时创建的组织名称。
    4. “构建环境”:选择“使用当前环境构建”
    5. 其余参数,保持默认。

  6. 单击“下一步”
  7. “资源”区域,参数设置保持默认。
  8. “访问方式”区域,参数设置保持默认。
  9. “时区”区域,参数设置保持默认。
  10. 添加环境变量。

    1. “高级设置”区域,展开高级设置 > 组件配置
    2. 单击“添加环境变量”,参考下表添加环境变量。

      类型

      变量名称

      变量/变量引用

      手动添加

      SERVICE_ADDR

      设置edge-service组件访问方式中生成的访问地址。

      图4 添加环境变量

  11. 单击“创建并部署”

确认部署结果

  1. 单击左上角,返回“应用管理”页面。
  2. 选择微服务引擎 > 微服务目录
  3. 在微服务引擎下拉列表选择部署了微服务应用的微服务引擎。
  4. 在“微服务列表”页签的“全部应用”下拉列表中选择创建应用时创建的应用名称(例如:weathermap)。

    如果各微服务实例数如下表所示,则部署成功。

    组件名称

    实例数

    weather

    2

    forecast

    1

    fusionweather

    1

    edge-service

    1

添加访问方式

  1. 单击“应用管理”
  2. 单击创建应用时创建的应用名称(例如:weathermap),进入“应用概览”页。
  3. “组件列表”,单击weathermapweb所在行“外部访问地址”列的“设置”,进入“访问方式”页面。
  4. 单击“TCP/UDP路由配置”区域的“添加服务”,参考下表设置参数。

    参数

    说明

    服务名称

    保持默认。

    访问方式

    选择“公网访问”。

    访问类型

    选择“弹性IP”

    服务亲和

    保持默认。

    协议

    选择TCP。

    容器端口

    填写3000。

    访问端口

    选择“自动生成”

    图5 添加访问方式

  5. 单击“确定”,生成访问地址。

    图6 访问地址

访问应用

  1. 单击左上角,返回“应用管理”页面。
  2. 单击创建应用时创建的应用名称(例如:weathermap),进入“应用概览”页。
  3. “组件列表”,单击weathermapweb所在行“外部访问地址”列的外部访问地址。

    出现以下页面表明天气预报微服务应用部署成功。

    图7 应用部署成功
    • 该数据为实时数据。
    • 首次访问应用时,weather系统就绪需要一段时间。如果如上图所示页面没有出现,请持续刷新页面。

分享:

    相关文档

    相关产品