SAE极速部署弹性微服务商城

更新时间:
复制为 MD 格式

本实验带您体验在SAE上快速部署一个弹性的在线商城微服务应用,使得终端用户可以通过公网访问该商城,并进行压力测试以验证其性能与稳定性。

场景简介

本实验带您体验在SAE上快速部署一个弹性的在线商城微服务应用,使得终端用户可以通过公网访问该商城,并进行压力测试以验证其性能与稳定性。

实现效果

emall-result

使用SAE部署应用有哪些优势?

Serverless应用引擎(SAE)一款极简易用的应用全托管平台,仅需上传源码或镜像即可在数秒内部署任何语言的在线应用。

  • 降低运维门槛:您无需关注底层基础设施,如服务器环境配置、Kubernetes运维等。SAE提供极简的应用部署体验,以及开箱即用的运维功能,包括日志、监控、负载均衡、版本控制、CI/CD等。

  • 自动弹性伸缩:SAE能够根据实际的流量状况自动调整资源的使用,确保在流量高峰时能够迅速响应,也避免在流量低谷时造成资源浪费。

  • 按需付费:您仅需要为实际使用的资源付费,可以节省固定成本,降低业务风险,尤其适合初创公司。

前提条件

本实验支持领取免费试用资源使用个人账号资源两种体验方式。

领取免费试用资源

重要

试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出有效期,或超出免费试用额度,可能会产生一定费用。

在右侧的操作区中,单击立即试用,然后跟随指引操作,即可领取免费试用资源。您也可以前往免费试用SAE进行领取。

如果页面没有立即试用按钮,说明您的阿里云账号不满足试用条件,可能由于您已领取过免费试用资源,请前往我的试用确认相关资源的试用状态、试用结束时间、以及是否超出试用额度。

image

使用个人账号资源

重要

在不领取免费试用资源的情况下,本实验1个小时预计产生费用1.5元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。

进入实操前,请确保阿里云账号满足以下条件:

  • 已通过实名认证并且账户余额充足。

  • 云资源产生的费用需您自行承担,云起实验室不会向您征收额外费用。

  • 所有实验操作将保留至您的账号,请谨慎操作。

  • 实操结束后,您可以选择继续付费保留资源,或参考手册自动/手动释放资源。

进入实操

  1. 在右侧的操作区中,单击进入实操

image

  1. 请您前往SAE控制台。如页面提示需要开通服务,或需要创建服务关联角色,请跟随指引操作。

通过代码包的方式部署应用商城

按照以下步骤创建3个微服务应用,分别为frontend应用、cartservice应用和productservice应用。

  1. 进入SAE控制台,在应用管理 > 微服务应用页面,选择应用部署的地域,本文以华南1(深圳)为例。单击创建应用

    image

  2. 创建应用应用基本信息页面,按照下表说明进行设置,然后单击设置代码包部署

    参数

    说明

    应用名称

    三个应用的命名按照如下所示进行设置:

    • 第一个应用名称为frontend

    • 第二个应用名称为cartservice

    • 第三个应用名称为productservice

    命名空间类型

    三个应用的命名空间类型都选择系统创建

    应用部署方式

    三个应用的部署方式都选择代码包部署

    单实例规格

    三个应用的单实例规格都选择CPU 4 核内存 8 GB

    实例数

    三个应用都选择1实例数。

    image

  3. 在弹出的设置代码包部署面板。根据下表配置相关参数,其余参数保持默认。然后单击确定

    参数

    说明

    技术栈语言

    三个应用都选择Java

    代码包类型

    三个应用都选择JAR 包部署

    文件上传方式

    三个应用都选择JAR包地址

    JAR 包地址

    不同的应用,所需的JAR 包地址不同。具体应用的地址,请按如下信息设置:

    • frontend应用请填写:https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/frontend-1.0.1-SNAPSHOT.jar

    • cartservice应用请填写:https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/cartservice-provider-1.0.1-SNAPSHOT.jar

    • productservice应用请填写:https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/productservice-provider-1.0.1-SNAPSHOT.jar

    image

  4. 配置options设置,创建应用。

    1. 填写好应用基本信息后,单击下一步:高级设置

    2. 启动命令设置区域的配置options设置,其余按照控制台的默认设置即可,然后单击创建应用

      三个应用的options设置均为:

      -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0

      image

  5. 您无需等待应用创建完毕,回到应用列表页面重复上述步骤,完成其余两个应用的部署。

    说明

    应用创建大约需要1分钟时间。

    image

  6. 如果您需要确认应用是否创建成功,请访问应该管理 > 微服务应用 > 应用列表页面,单击应用名称,进入应用的基本信息页面。单击变更记录,分别查看应用的变更状态是否为执行成功

    image

    image

frontend应用设置公网访问地址

  1. 应该管理 > 微服务应用 > 应用列表页面,单击frontend应用的名称,进入frontend应用的基本信息页面。

    image

  2. 基本信息页面,找到应用访问设置区域,然后单击添加公网CLB访问

    image

  3. 弹出的添加公网 CLB 访问面板,选择新建CLB实例,然后设置HTTP 端口80容器端口9999,最后单击确认

    说明

    生成公网访问地址大约需要1分钟,请您耐心等待。

    image

访问体验

  1. 进入frontend应用的基本信息页面,找到应用访问设置区域,复制公网访问地址

    image

  2. 打开浏览器,粘贴公网访问地址到地址栏中,访问应用。

    image

(可选)对商城进行压力测试

本实验通过模拟突发流量高峰,分别对未配置弹性策略的productservice应用和配置了弹性策略的productservice应用进行压力测试,测试productservice应用在两种情况下是否能实现自动的扩缩容。

开通性能测试PTS服务

重要

PTS服务的免费额度说明,请参见按量计费(后付费)。如果使用的资源超出免费额度,则超出部分进行按量计费。

前往性能测试PTS控制台如页面提示需要开通服务,或需要创建服务关联角色,请跟随指引操作。

在未配置弹性策略时进行压力测试

  1. 对商城进压力测试。性能测试 > 创建场景页面,单击PTS压测

    image

  2. 创建PTS场景页面,按照以下步骤进行参数配置,然后单击保存去压测

    1. 配置场景名场景配置

      参数

      说明

      场景名

      填写sae。

      压测API名称

      填写test,然后单击GET,选择基本请求信息,配置压测URL。

      压测URL

      填写http://IP地址/product/buy/20/200,其中IP地址为frontend应用绑定的公网IP。如http://8.138.XX.XX/product/buy/20/200

      image

    2. 压力模式配置区域,设置最大虚拟用户数20,设置压测总时长3分钟,其余参数按照控制台的默认配置即可

      image

    3. 压力量级配置区域,配置最大虚拟用户权重10,配置起始百分比20,单击保存去压测,然后跟随指引启动压测。

      image

  3. 在准备压测页面,大约需要准备30秒,请您耐心等待。

    image

  4. 在压测过程中,回到SAE控制台productservice的应用详情页,观察实例数是否发生变化。发现实例数始终保持不变,这是由于当前未启用弹性策略,无法随业务流量变化而调整实例数。

    image

    image

  5. 您可以在压测完成后,在报告列表页面,单击压测报告操作列的查看报告,查看压测结果。

    image

配置弹性策略后进行压力测试

productservice应用配置自动弹性策略

  1. 登录SAE控制台,在微服务应用应用列表页面,单击productservice应用的名称。

    image

  2. 应用列表页面,单击实例部署信息页签,然后展开弹性伸缩区域。

    image

  3. 实例部署信息页签的弹性伸缩区域,单击添加弹性策略

    ysldOsaIwd

  4. 在弹出的添加弹性策略面板,按照下表说明配置相关参数信息,然后单击确认

    参数

    说明

    策略类型

    选择监控指标策略

    策略名称

    可自定义。本实验中,策略名称为demo。

    触发条件

    • 选择CPU使用率的目标值为70%。

    • 删除Mem使用率的指标类型。

    应用最小实例数

    选择应用最小实例数1个。

    image

  5. 弹性伸缩区域,启用已创建的弹性策略。

    image

进行压力测试

  1. 登录PTS控制台,在场景列表页面,找到上次创建的场景,然后单击操作列的启动,然后跟随指引启动压力测试。

    image

  2. 在压测过程中,回到SAE控制台productservice的应用详情页,观察实例数是否发生变化。

    image

    1. 发现在流量高峰时,自动启动了多个实例,实现了自动扩容。

      5A8snIuBKv

    2. 而当流量高峰消失后,发现实例又变回了1个,实现了自动缩容。

      实例缩容到初始个数,需要几分钟时间,请您耐心等待。

      image

  3. 您可以在压测完成后,在报告列表页面,单击压测报告操作列的查看报告,查看压测结果。

    image

清理资源

重要

实验结束后如果无需继续使用资源,请根据以下步骤删除相关资源后,再结束实操,否则会持续产生费用。

实验结束后如果需要继续使用资源,您可跳过清理资源的操作,直接结束实操。请随时关注账户扣费情况,避免发生欠费。如果领取了免费试用资源,会优先抵扣,在到期或者额度用完后,才会扣费。

删除应用

进入SAE控制台应用管理 > 微服务应用页面,在右上角切换到资源所在地域,本实验以华南1(深圳)为例。在应用列表中单击已创建的应用,进入应用详情页。单击更多删除应用,然后跟随指引操作。

image

image

重要

三个应用需要分别按照上述步骤删除。

结束实操

单击结束实操。在弹出的对话框中,单击确定

image