全部产品

快速入门

更新时间:2020-07-02 15:39:36

本文以 SOFABoot 技术栈 2.0 为例描述如何创建并在 SOFAStack 平台上发布一个 SOFABoot 应用。

说明:SOFABoot 应用的开发、发布过程与基于 Spring 技术栈的过程类似。

步骤一:准备工作空间

创建工作空间

工作空间(Workspace)本质上是“网络互通、安全策略一致、访问延时极小”的一组资源。您可以通过工作空间方便地将资源进行分组管理,例如:根据不同的研发交付需求,将工作空间划分为开发工作空间、测试工作空间、生产工作空间等。不同工作空间中的资源互相隔离。

  1. 登录 SOFAStack 控制台。

  2. 在左侧导航栏,单击下方的全局设置,进入工作空间列表页面。

  3. 单击添加工作空间,输入以下工作空间基本信息。

    • 工作空间标识:工作空间的英文标识,全局唯一,一经确定无法修改,例如:dev、test、prod 等;
    • 工作空间名称:工作空间的显示名称,例如:开发工作空间、测试工作空间、生产工作空间。
    • 地域:工作空间所在的地域(Region),一个工作空间一定属于某个地域。

      说明:目前开放的地域为 华东2(上海)华东1(杭州)(金融云)。

    • 网络类型:只支持专有网络 VPC。
    • 可用区:工作空间配置的可用区(Available Zone),最多不能超过两个,工作空间只能导入已配置可用区内的资源,且发布部署、容灾等其他功能都是基于工作空间的可用区来做分组发布与容灾切换等操作。推荐配置两个可用区,为支持双机房高可用等架构做准备。

创建专有网络 VPC

专有网络 VPC 可以在阿里云上构建一个隔离的网络工作空间。您需要先创建一个专有网络 VPC,然后为其绑定交换机。

  1. 在上面的 添加工作空间 对话框中输入了工作空间基本信息后,单击 下一步

  2. 工作空间绑定 页面,选择 添加专有网络并绑定至当前工作空间

  3. 设置专有网络 页面,输入 专有网络名称专有网络网段,点击 确定

    • 专有网络名称:由 [2, 128] 个英文或中文字符组成,必须以大小字母或中文开头,可包含数字、下划线(_) 或连字符(-),不能以 http://https:// 开头。推荐与工作空间名称相同。

    • 专有网络网段:专有网络的网段,一旦选择便无法更改,专有网络内的所有资源,如 ECS、RDS、SLB 的私网 IP 都在该网段内。可选网段如下:

      • 10.0.0.0/9
      • 172.16.0.0/12
      • 192.168.0.0/16
  4. 从 SOFAStack 左侧导航栏进入运维管理 > 资源管理 > 计算和网络 > 专有网络VPC

  5. 专有网络详情 页面的 交换机 页签,点击 添加

  6. 在弹出的 创建交换机名称 对话框中,填写以下信息后,点击 确定

    • 名称:输入交换机名称。
    • 可用区:选择交换机所在可用区。
    • 自定义网段:默认关闭。开启后,需填写网段地址。交换机的网段可以和其所属的 VPC 网段相同或者是其 VPC 网段的子网。
    • 子网掩码自定义网段 关闭时,需分别选择子网掩码和网段地址。默认专有的网段掩码是 16 位,例如 172.31.0.0/16,最多可提供 65536 个私网 IP 地址。范围为 16~29 位之间,可提供 4~65532 个地址。
    • 描述:可选。输入交换机的描述信息。

创建安全组

安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。您可以通过配置安全组规则,允许或禁止安全组内的 ECS 服务器对公网或私网的访问。

  1. 从 SOFAStack 左侧导航栏进入 运维管理 > 资源管理 > 计算和网络 > 安全组

  2. 点击 添加

  3. 在弹出的 添加安全组 对话框中,按页面提示要求输入 名称描述(可选),点击 确定

步骤二: 创建应用

在该示例中,我们创建一个 SOFABoot 应用。具体步骤如下:

  1. 进入应用管理控制台,点击左侧导航栏中的 应用列表 进入应用列表页面。
  2. 点击 创建应用
  3. 输入应用信息。
    • 应用名称输入 sofabootdemo
    • 技术栈选择 技术栈 2.0 架构 > SOFABoot
    • 关闭 设置代码库(本文采用直接上传包的方式);
    • 其他为默认配置。
  4. 点击 确定,新创建的应用出现在应用列表的最上方。应用状态为 创建中,数秒后变为 创建完成

步骤三:创建应用服务

  1. 进入经典应用服务控制台,点击左侧导航栏中的 应用发布 > 应用服务 ,点击 创建服务实例

  2. 服务实例名称输入 sofabootdemo, 应用选择之前创建的应用 sofabootdemo,负责人选择自己,技术栈版本选择最新版,其余使用默认值,点击 确定。 应用服务创建完成。

步骤四:本地开发

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

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

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

购买 ECS

  1. 进入经典应用服务控制台。

  2. 展开左侧 应用发布 > 应用服务

  3. 找到之前创建的应用服务 sofabootdemo,点击该服务实例名称或点击 详情,进入 应用服务实例信息 页。

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

    重要:SOFAStack 平台定义的技术栈 2.0,如 SOFABoot,目前支持的操作系统为 Linux,镜像为 SOFAStack 平台定义的 CentOS 7.x 和 CentOS 6.x 镜像;对于技术栈 1.0,如 sofa-lite2、Spring、sofa-lite-core、sofa-lite-web,目前支持的操作系统为 Linux,镜像为 SOFAStack 平台定义的 CentOS 6.x 镜像。

购买公网 SLB

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

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

    • 实例类型 选择 公网
    • 监听器信息 中添加以下监听器:
      • 前端协议HTTP
      • 端口80
      • 后端协议端口8341
      • 其余属性保持默认即可

挂载 ECS 到 SLB

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

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

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

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

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

步骤六:发布应用

  1. 在左侧导航栏,选择 应用服务 > 发布包管理

  2. 找到 sofabootdemo,点击 管理 进入包管理界面,点击 上传发布包

  3. 在弹出框中,使用默认版本号,文件选择本地下载的样例 .jar 包,然后点击 确定

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

  4. 点击页面右上方的 发布部署,然后在 发布部署 窗口中选择服务实例:sofabootdemo,以及刚才上传的版本,点击 立即发布,跳转至发布单页面,点击 整体发布

    在发布单详情看到状态 执行成功,即表示该应用已经发布成功。

步骤七: 验证结果

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

  1. 在左侧导航栏,选择 应用服务 > 服务实例列表,点击列表中的 sofabootdemo 进入实例详情页。

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

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

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

    {"data":{"realName":"Real tester","userId":0,"userName":"tester"},"success":true}

小结

至此,您已经了解如何通过技术栈 2.0 创建并部署 SOFABoot 应用。基于其他技术栈的操作类似。本文在操作过程中没有详细讲述原理,您可以参考 应用部署 了解更多。

FAQ

Q:为什么根据文档操作最后会发布失败?

A:请检查 挂载 ECS 到 SLB 步骤中的 流量权重 设置,确保流量权重不为 0。