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

使用SAE部署应用有哪些优势?
Serverless应用引擎(SAE)是一款极简易用的应用全托管平台,仅需上传源码或镜像即可在数秒内部署任何语言的在线应用。
降低运维门槛:您无需关注底层基础设施,如服务器环境配置、Kubernetes运维等。SAE提供极简的应用部署体验,以及开箱即用的运维功能,包括日志、监控、负载均衡、版本控制、CI/CD等。
自动弹性伸缩:SAE能够根据实际的流量状况自动调整资源的使用,确保在流量高峰时能够迅速响应,也避免在流量低谷时造成资源浪费。
按需付费:您仅需要为实际使用的资源付费,可以节省固定成本,降低业务风险,尤其适合初创公司。
前提条件
本实验支持领取免费试用资源、使用个人账号资源两种体验方式。
领取免费试用资源
试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出有效期,或超出免费试用额度,可能会产生一定费用。
在右侧的操作区中,单击立即试用,然后跟随指引操作,即可领取免费试用资源。您也可以前往免费试用SAE进行领取。
如果页面没有立即试用按钮,说明您的阿里云账号不满足试用条件,可能由于您已领取过免费试用资源,请前往我的试用确认相关资源的试用状态、试用结束时间、以及是否超出试用额度。

使用个人账号资源
在不领取免费试用资源的情况下,本实验1个小时预计产生费用1.5元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
进入实操
在右侧的操作区中,单击进入实操。

请您前往SAE控制台。如页面提示需要开通服务,或需要创建服务关联角色,请跟随指引操作。
通过代码包的方式部署应用商城
按照以下步骤创建3个微服务应用,分别为frontend应用、cartservice应用和productservice应用。
进入SAE控制台,在页面,选择应用部署的地域,本文以华南1(深圳)为例。单击创建应用。

在创建应用的应用基本信息页面,按照下表说明进行设置,然后单击设置代码包部署。
参数
说明
应用名称
三个应用的命名按照如下所示进行设置:
第一个应用名称为
frontend。第二个应用名称为
cartservice。第三个应用名称为
productservice。
命名空间类型
三个应用的命名空间类型都选择系统创建。
应用部署方式
三个应用的部署方式都选择代码包部署。
单实例规格
三个应用的单实例规格都选择CPU 4 核、内存 8 GB。
实例数
三个应用都选择
1实例数。
在弹出的设置代码包部署面板。根据下表配置相关参数,其余参数保持默认。然后单击确定。
参数
说明
技术栈语言
三个应用都选择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。

配置options设置,创建应用。
填写好应用基本信息后,单击下一步:高级设置。
在启动命令设置区域的配置options设置,其余按照控制台的默认设置即可,然后单击创建应用。
三个应用的options设置均为:
-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
您无需等待应用创建完毕,回到应用列表页面重复上述步骤,完成其余两个应用的部署。
说明应用创建大约需要1分钟时间。

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


为frontend应用设置公网访问地址
在页面,单击frontend应用的名称,进入frontend应用的基本信息页面。

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

弹出的添加公网 CLB 访问面板,选择新建CLB实例,然后设置HTTP 端口为
80、容器端口为9999,最后单击确认。说明生成公网访问地址大约需要1分钟,请您耐心等待。

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

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

(可选)对商城进行压力测试
本实验通过模拟突发流量高峰,分别对未配置弹性策略的productservice应用和配置了弹性策略的productservice应用进行压力测试,测试productservice应用在两种情况下是否能实现自动的扩缩容。
开通性能测试PTS服务
PTS服务的免费额度说明,请参见按量计费(后付费)。如果使用的资源超出免费额度,则超出部分进行按量计费。
前往性能测试PTS控制台,如页面提示需要开通服务,或需要创建服务关联角色,请跟随指引操作。
在未配置弹性策略时进行压力测试
对商城进压力测试。在页面,单击PTS压测。

在创建PTS场景页面,按照以下步骤进行参数配置,然后单击保存去压测。
配置场景名和场景配置。
参数
说明
场景名
填写sae。
压测API名称
填写test,然后单击GET,选择基本请求信息,配置压测URL。
压测URL
填写
http://IP地址/product/buy/20/200,其中IP地址为frontend应用绑定的公网IP。如http://8.138.XX.XX/product/buy/20/200
在压力模式配置区域,设置最大虚拟用户数为20,设置压测总时长为3分钟,其余参数按照控制台的默认配置即可。

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

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

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


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

配置弹性策略后进行压力测试
为productservice应用配置自动弹性策略
登录SAE控制台,在微服务应用的应用列表页面,单击productservice应用的名称。

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

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

在弹出的添加弹性策略面板,按照下表说明配置相关参数信息,然后单击确认。
参数
说明
策略类型
选择监控指标策略。
策略名称
可自定义。本实验中,策略名称为demo。
触发条件
选择CPU使用率的目标值为70%。
删除Mem使用率的指标类型。
应用最小实例数
选择应用最小实例数为1个。

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

进行压力测试
清理资源
实验结束后如果无需继续使用资源,请根据以下步骤删除相关资源后,再结束实操,否则会持续产生费用。
实验结束后如果需要继续使用资源,您可跳过清理资源的操作,直接结束实操。请随时关注账户扣费情况,避免发生欠费。如果领取了免费试用资源,会优先抵扣,在到期或者额度用完后,才会扣费。
删除应用
进入SAE控制台的页面,在右上角切换到资源所在地域,本实验以华南1(深圳)为例。在应用列表中单击已创建的应用,进入应用详情页。单击更多,删除应用,然后跟随指引操作。


三个应用需要分别按照上述步骤删除。
结束实操
单击结束实操。在弹出的对话框中,单击确定。























