经典发布模式

本文介绍如何按照经典发布模式在 SOFAStack 上发布一个应用。

前提条件

您已完成以下准备工作:

步骤一:创建应用服务

一个应用下可以挂多个应用服务。在入门示例中,我们在刚创建的 SOFABoot 应用下创建一个应用服务,为其定义好配置。

  1. 登录 SOFAStack 控制台

  2. 在左侧导航栏单击 运维管理 > 经典应用服务 > 应用发布 > 应用服务

  3. 单击 创建服务实例

  4. 配置应用服务信息。

    • 应用:选择 创建应用元信息 中创建的应用(sofabootdemo

    • 服务实例名称:输入 sofabootdemo

    • 发布包:选择应用的发布包。

      说明

      本文示例暂时为空,在 步骤四:发布应用 时,再上传发布包。

    • 描述:输入服务实例描述,本示例为空。

    • 技术栈:根据所属应用自动展示,本示例为 SOFA Boot。

    • 技术栈版本:选择所需版本。

    • 部署单元:勾选应用要发布到的部署单元。

  5. 单击 确定

步骤二:购买资源并绑定到应用服务

本步骤将为前述创建的应用服务 sofabootdemo 购买一台 ECS 和一个公网 SLB,并将 ECS 绑定到该 SLB。

购买 ECS

  1. 登录 SOFAStack 控制台

  2. 在左侧导航栏单击 运维管理 > 经典应用服务 > 应用发布 > 应用服务。

  3. 在应用服务实例列表,找到步骤三创建的应用服务 sofabootdemo,单击该服务实例名称或单击 详情,进入 应用服务实例信息 页。

  4. 单击 云服务器 ECS 页签中的 添加 按钮,根据提示录入相应信息,单击 创建 完成 ECS 创建。

购买公网 SLB

  1. 应用服务实例信息 页,选择 负载均衡 SLB 页签,单击 添加 按钮。

  2. 在创建负载均衡页面,输入相应信息,单击 确定 > 创建,完成 SLB 创建。

    • 实例类型 选择 公网

    • 监听器信息 中添加以下监听器:

      • 前端协议HTTP

      • 端口80

      • 后端协议端口8341

      • 其余属性保持默认即可。

挂载 ECS 到 SLB

当 ECS 和 SLB 都创建成功后,根据以下步骤进行挂载:

  1. 负载均衡 SLB 页签,单击刚创建的 SLB 名称进入详情页。

  2. 后端服务器组 中选择 待挂载 标签,勾选 同一 App,选择之前创建好的 ECS,单击 挂载

  3. 挂载 ECS 窗口,设置 流量权重100,单击 确定

    完成挂载后,可在 已挂载 中查看挂载的 ECS。

步骤三:开发应用

本地使用 SOFABoot 框架进行开发详见 SOFABoot 快速入门。在这里,您可以先忽略具体的开发过程,直接 下载样例 Jar 包 并解压到本地。样例工程中的应用都已经在本地完成编译打包,生成的包在 target 目录下。

步骤四:发布应用

  1. 登录 SOFAStack 控制台

  2. 在左侧导航栏进入 运维管理 > 经典应用服务 > 应用发布 > 发布包管理

  3. 在应用列表中找到 sofabootdemo,单击 管理 进入发布包管理界面,然后单击 上传发布包

  4. 在弹出的对话框中,使用默认版本号,文件选择本地下载的名为 sofa-boot-hello 样例 Jar 包,然后单击 确定

    待进度条完成后可以看到上传的版本。

  5. 在发布包列表中找到刚上传的 sofa-boot-hello.jar,单击右侧 操作 列的 发布

  6. 发布部署 对话框中选择服务实例:sofabootdemo,以及刚才上传的版本,单击 立即发布,跳转至 sofabootdemo 的发布单。

  7. 在发布单页面,单击右上角的 整体发布 开始 sofabootdemo 应用的发布流程。当 状态 一栏显示 执行成功,即表示应用已发布成功。

    在应用发布单页面单击 sofabootdemo 应用,可以进入应用发布详情页查看应用服务实例的发布详情。

步骤五: 验证结果

您可以通过以下步骤来验证应用是否发布成功。

  1. 登录 SOFAStack 控制台

  2. 在左侧导航栏进入 运维管理 > 经典应用服务 > 应用发布 > 应用服务,单击列表中的 sofabootdemo 进入服务实例详情页。

  3. 负载均衡 SLB 标签中复制服务地址。

  4. 在本地浏览器的地址栏中访问 http://{负载均衡器服务地址}/webapi/users/tester,如 http://120.xx.xx.140/webapi/users/tester

    若页面显示以下内容表示发布成功:

    {"data":{"realName":"Real tester","userId":0,"userName":"tester"},"success":true}
阿里云首页 金融分布式架构 SOFAStack 相关技术圈