
⚡⚡⚡ 新年新文⚡⚡⚡
文章目录
本文介绍了如何用Serverless应用引擎(SAE)帮助企业极速构建云上微服务应用,以及通过弹性伸缩从容应对突发性流量洪流,灵活启停应用环境降低资源成本。
Serverless应用引擎 SAE(Serverless App Engine)是面向应用的Serverless PaaS平台,能够帮助PaaS层用户免运维IaaS、按需使用、按量计费,做到低门槛的微服务应用上云。相对于其他Serverless 产品,它抽象了应用的概念,并提供了一整套微服务解决方案,支持Spring Cloud、Dubbo、HSF等主流的微服务开发框架,实现了Serverless架构和微服务架构的完美结合。本实验介绍了如何用Serverless应用引擎(SAE)帮助企业极速构建云上微服务应用,以及通过弹性伸缩从容应对突发性流量洪流,灵活启停应用环境降低资源成本。
主要分为以下几个步骤:
- 资源准备,包括SAE的开通及命名空间的创建。
- 在SAE平台创建frontend微服务应用。
- 在SAE平台创建cartservice微服务应用。
- 在SAE平台创建productservice微服务应用。
- 配置应用访问并通过浏览器测试访问。
- 配置SAE资源自动弹性伸缩。
- SAE可观测能力体验。
- 资源释放。
1,创建命名空间
-
复制以下链接至远程桌面浏览器地址栏,进入SAE控制台的命名空间页面:
https://sae.console.aliyun.com/#/NameSpace?regionId=cn-hangzhou -
创建生产环境命名空间,在弹出页面依次填入如下参数:
命名空间名称:onlineshop-pro
命名空间ID:pro
-
创建测试环境命名空间,在弹出页面依次填入如下参数:
命名空间名称:onlineshop-uat
命名空间ID:uat

2,部署frontend微服务应用
- 控制台进入创建应用页面
SAE的应用管理提供全托管的计算服务来运行您的程序,支持网站、小程序、APP以及微服务应用,本实验介绍如何在SAE控制台创建、更新、删除以及查看应用。
注:本文将分别部署三个微服务应用,分别是
- frontend: 前端服务,提供了应用程序的用户界面,让用户可以浏览和购买商品。
- cartservice: 购物车服务,负责管理用户的购物车内容,添加和删除商品。
- productservice: 产品目录服务,管理商品信息,提供产品的列表和详细信息。
- 配置应用基本信息
在应用基本信息配置页面,依次填入如下参数:
应用名称:frontend
专有网络配置:自定义配置
命名空间:选择 onlineshop-uat 和 onlineshop-vpc
vSwitch:点击选择vSwitch后,勾选 onlineshop-vsw,单击 确认
安全组:onlineshop-sg
应用实例数:1
VCPU:1Core
内存:2GiB
然后单击右下角下一步:应用部署配置。
- 应用部署配置
在 应用部署配置 页面,依次填入如下参数:
技术栈语言:Java
应用部署方式:JAR包部署
应用运行环境:标准Java应用运行环境
JAVA环境:Open JDK 8
文件上传方式:JAR包地址
JAR包地址:
https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/frontend-1.0.1-SNAPSHOT.jar
其余保持默认。

- 下方启动命令设置,并进行如下配置。
options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
注:该设置指定了容器启动和使用时的最大内存。

- 单击后会出现应用创建中的页面。
此步骤后,我们不必在此页面等待,继续下一步,部署其他微服务应用。
3,部署cartservice微服务应用
- 再次进入应用创建页面
在SAE控制台左侧导航栏点击 应用管理-应用列表,进入应用列表页面。
在应用列表页面,点击 创建应用。 - 配置应用基本信息
在应用基本信息配置页面,依次填入如下参数:
应用名称:cartservice
专有网络配置:自定义配置
命名空间:onlineshop-uat | VPC:onlineshop-vpc
vSwitch:onlineshop-vsw
【注:在创建frontend应用后,命名空间会和vpc绑定,所以此处不需要再手动选择,命名空间与VPC是一一映射关系】
安全组:onlineshop-sg
应用实例数:1
VCPU:1Core
内存:2GiB
-
应用部署配置
在应用部署配置页面,依次填入如下参数:
技术栈语言:Java
应用部署方式:JAR包部署
应用运行环境:标准Java应用运行环境
JAVA环境:Open JDK 8
文件上传方式:JAR包地址
JAR包地址:
https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/cartservice-provider-1.0.1-SNAPSHOT.jar其余保持默认。
-
点击下方启动命令设置:
options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
注:该设置指定了容器启动和使用时的最大内存。
4,部署productservice微服务应用
- 再次进入应用创建页面
在SAE控制台左侧导航栏点击 应用管理-应用列表,进入应用列表页面。
在应用列表页面,点击 创建应用。 - 配置应用基本信息
在应用基本信息配置页面,依次填入如下参数:
应用名称:productservice
专有网络配置:自定义配置
命名空间:onlineshop-uat | VPC:onlineshop-vpc
vSwitch:onlineshop-vsw
【注:在创建frontend应用后,命名空间会和vpc绑定,所以此处不需要再手动选择,命名空间与VPC是一一映射关系】
安全组:onlineshop-sg
应用实例数:1
VCPU:1Core
内存:2GiB
- 应用部署配置
在应用部署配置页面,依次填入如下参数:
技术栈语言:Java
应用部署方式:JAR包部署
应用运行环境:标准Java应用运行环境
JAVA环境:Open JDK 8
文件上传方式:JAR包地址
JAR包地址:
https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/productservice-provider-1.0.1-SNAPSHOT.jar
其余保持默认。 - 点击下方启动命令设置:
options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
注:该设置指定了容器启动和使用时的最大内存。 - 创建应用
确认规格无误后,点击右下角 确认创建。

5,配置应用访问
应用部署完成后,我们需要通过CLB实现应用的公网访问。
- 在应用列表页面,单击应用名称 frontend,进入应用详情页。

- 创建公网CLB
在 基本信息 页面的 应用访问设置 区域,单击 添加公网CLB访问。
在弹出页面的下方HTTP协议区域配置如下参数:
HTTP端口:80
容器端口:9999
然后点击右下角 确认 按钮。

- 测试访问应用
等待片刻后,在基本信息页面的应用访设置区域,显示出公网访问地址,则表示CLB创建并绑定完成。复制 公网访问地址 到浏览器的地址栏中,即可访问部署完成的商城。

出现该页面,即表示在线商城应用部署成功。
可以在线上商城中浏览商品,并将中意的商品添加至购物车。
6,配置SAE自动弹性伸缩
在实际企业商城业务运营中,经常会有一些秒杀活动场景。秒杀活动通常在短时间内吸引大量用户访问,这会导致服务器负载激增。在秒杀活动之外的时期,不需要维持过多的服务器资源。SAE提供了基于定时策略、监控指标策略以及混合弹性策略三种方式来自动扩缩应用,从而帮企业更好的应对突发流量,优化服务性能,节省成本。
- 进入需要扩缩应用的应用详情页面
复制以下链接至远程桌面浏览器地址栏,进入SAE控制台:
https://sae.console.aliyun.com/#/AppList
在左侧导航栏 应用管理 > 应用列表 界面中,点击 productservice 应用,进入应用详情。
- 创建自动弹性策略
【操作介绍】本实验通过设置定时策略模拟实际企业生产环境中应对秒杀活动的场景,如企业在每天18:00会放出一批特价商品,在19:00后结束活动。那么就可以设置在每天18:00自动扩充实例,在19:00后再自动缩容回平时水平。在实验场景下,为了能更快体验到效果,我们可以将扩容时间设置为当前时间后一分钟,观察扩容效果,设置在当前时间六分钟后缩容,体验下SAE的自动扩缩功能。
在应用详情的 基本信息 页面,点击右上角的 自动扩缩 配置弹性策略。
依次填入如下参数:
策略类型:定时策略
策略名称:productservice-auto
选择时间:长期
周期:每天
单天内的触发时间:从【当前时间+2分钟】之后保持实例数 2 个
从【当前时间+8分钟】之后保持实例数 1 个
注:【】内的"当前时间"应替换为进行实验时的实际时间,如在配置该时间框时实际时间为11:50,则在该位置填写11:52,在下一行填写11:58即可。
实例数设置:最小实例数1个 最大实例数 2个。
单击 下一步:预览定时策略按钮。

- 启用弹性扩缩规则
在实例部署信息页签的弹性伸缩区域,点击 启用。
等待2分钟,进入设置的扩容时间,在当前 productserice 应用页面刷新。在 基本信息 的 实例部署信息 页签,发现应用实例变成了2个。
再等待6分钟,进入设置的缩容时间。其中一个实例运行状态变为了 Terminating,然后会消失,只剩下1个实例。
可以看到实例数按照先前设置的定时规则在执行变化。
7,SAE可观测能力体验
应用托管到Serverless应用引擎SAE(Serverless App Engine)后,SAE的基础监控会对应用所运行设备的CPU、负载、内存、网络和磁盘进行数据采集与分析,并以动态图的方式展示,方便您实时、直观地了解应用所运行设备的状态。SAE的应用监控会采集并分析应用数据,包括异常实例数、发布单失败率等,并在概览页显示每个指标Top N的应用列表,方便您实时、直观地了解应用的状态。基础监控和应用监控功能为SAE默认提供,无需另外付费。
-
在productservice应用的应用详情页面,在左侧导航栏点击 基础监控,查看各项基础监控指标。
-
在左侧导航栏中,选择 应用监控 > 应用详情,您也可通过查看应用各项指标信息。
感谢阅读,下期更精彩 👋👋👋
