快速入门

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

说明

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

步骤一:创建标准工作空间

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

  1. 进入 SOFAStack 控制台。

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

  3. 单击 创建工作空间,选择 标准工作空间 类型,单击 创建

  4. 创建工作空间 页面,输入以下基本信息。

    • 工作空间标识:工作空间的英文标识,全局唯一,一经确定无法修改,例如:dev、test、prod 等。

    • 工作空间名称:工作空间的显示名称,例如:开发工作空间、测试工作空间、生产工作空间。

    • 地域:工作空间所在的地域(Region),一个工作空间一定属于某个地域。

      说明

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

    • 网络类型:只支持专有网络 VPC。

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

  5. 单击 下一步,在 创建 VPC 页面,输入以下配置信息:

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

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

      • 10.0.0.0/9

      • 172.16.0.0/12

      • 192.168.0.0/16

    • 交换机:单击 添加交换机,在弹出的 创建交换机 窗口,填写以下信息,单击 提交

      • 名称:交换机名称。长度为 2-128 个字符,以英文字母或中文开头,可包含数字、下划线(_)和短横线(-)。系统自动生成 工作空间标识-vsw 组成的默认名称。

      • 可用区:交换机的可用区。同一 VPC 内不同可用区的交换机内网互通。您需要为每个可用区创建一台交换机。

      • 自定义网段:默认关闭。开启后,需填写网段地址。交换机的网段可以和其所属的 VPC 网段相同或者是其 VPC 网段的子网。

      • 子网掩码自定义网段 关闭时,需分别选择子网掩码和网段地址。默认专有的网段掩码是 24 位,例如 172.31.0.0/24,最多可提供 65536 个私网 IP 地址。范围为 16~29 位之间,可提供 4~65532 个地址。

      • 描述: 输入交换机的描述信息。可包含 2-256 个中英文字符,不能以 http:// https:// 开头。

  6. 单击 下一步,在 创建安全组 页面,单击 添加安全组,在弹出的 添加安全组 窗口,填写以下信息,单击 提交

    • 安全组名称:长度为 2-128 个英文或中文字符,必须以大小字母或中文开头,不能以 http://https:// 开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。系统自动生成 工作空间标识-sg 组成的默认名称。

    • 描述:可包含 2-256 个中英文字符,不能以 http://https:// 开头。

    • 规则:保持默认设置,接受所有的出入访问。

步骤二: 创建应用

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

  1. 进入应用管理控制台,单击左侧导航栏中的 应用列表 进入应用列表页面。

  2. 单击 创建应用

  3. 创建应用 页,填写以下信息。

    • 应用名称:允许包含字母、数字、连字符、下划线,且必须以字母开头、以字母或者数字结尾。本例中输入 sofabootdemo。

      说明

      应用名称在同一租户内必须唯一。

    • 技术栈:选择 SOFA Boot。

    • 应用分组:选择应用所属分组。若尚未自定义分组,可以选择系统默认分组。

    • 应用标签:应用分级标签,便于进行应用快速检索,支持添加系统标签和自定义标签。

    • 应用描述:输入应用的描述信息。

  4. 单击 提交,在提示创建成功的弹出窗口中单击 查看应用详情 即可进入应用详情页面查看刚创建的应用。

步骤三:创建应用服务

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

  2. 在跳转的页面上,输入以下信息。

    • 应用:选择上一步中创建的应用

    • 服务实例名称:允许包含字母、数字、连字符、下划线,且必须以字母开头、以字母或者数字结尾。

    • 发布包:选择应用的发布包。可在 应用发布 > 发布包管理 页面为应用上传发布包。

    • 描述:输入服务实例描述。

    • 技术栈:根据所属应用自动展示。

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

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

  3. 单击 确定

步骤四:本地开发

本地使用 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.xx.xx.140/webapi/users/tester

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

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

小结

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

FAQ

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

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