通过SAE实现企业应用的云上托管

⚡⚡⚡ 新年新文⚡⚡⚡


文章目录


本文介绍了如何用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,创建命名空间

  1. 复制以下链接至远程桌面浏览器地址栏,进入SAE控制台的命名空间页面:
    https://sae.console.aliyun.com/#/NameSpace?regionId=cn-hangzhou

  2. 创建生产环境命名空间,在弹出页面依次填入如下参数:

    命名空间名称:onlineshop-pro

    命名空间ID:pro

  3. 创建测试环境命名空间,在弹出页面依次填入如下参数:

    命名空间名称:onlineshop-uat

    命名空间ID:uat

2,部署frontend微服务应用

  1. 控制台进入创建应用页面
    SAE的应用管理提供全托管的计算服务来运行您的程序,支持网站、小程序、APP以及微服务应用,本实验介绍如何在SAE控制台创建、更新、删除以及查看应用。

注:本文将分别部署三个微服务应用,分别是

  • frontend: 前端服务,提供了应用程序的用户界面,让用户可以浏览和购买商品。
  • cartservice: 购物车服务,负责管理用户的购物车内容,添加和删除商品。
  • productservice: 产品目录服务,管理商品信息,提供产品的列表和详细信息。
  1. 配置应用基本信息
    在应用基本信息配置页面,依次填入如下参数:
    应用名称:frontend
    专有网络配置:自定义配置
    命名空间:选择 onlineshop-uat 和 onlineshop-vpc
    vSwitch:点击选择vSwitch后,勾选 onlineshop-vsw,单击 确认
    安全组:onlineshop-sg
    应用实例数:1
    VCPU:1Core
    内存:2GiB

然后单击右下角下一步:应用部署配置。

  1. 应用部署配置
    在 应用部署配置 页面,依次填入如下参数:
    技术栈语言:Java
    应用部署方式:JAR包部署
    应用运行环境:标准Java应用运行环境
    JAVA环境:Open JDK 8
    文件上传方式:JAR包地址
    JAR包地址:
    https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/frontend-1.0.1-SNAPSHOT.jar
    其余保持默认。
  2. 下方启动命令设置,并进行如下配置。
    options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
    注:该设置指定了容器启动和使用时的最大内存。
  3. 单击后会出现应用创建中的页面。
    此步骤后,我们不必在此页面等待,继续下一步,部署其他微服务应用。

3,部署cartservice微服务应用

  1. 再次进入应用创建页面
    在SAE控制台左侧导航栏点击 应用管理-应用列表,进入应用列表页面。
    在应用列表页面,点击 创建应用。
  2. 配置应用基本信息
    在应用基本信息配置页面,依次填入如下参数:
    应用名称:cartservice
    专有网络配置:自定义配置
    命名空间:onlineshop-uat | VPC:onlineshop-vpc
    vSwitch:onlineshop-vsw
    【注:在创建frontend应用后,命名空间会和vpc绑定,所以此处不需要再手动选择,命名空间与VPC是一一映射关系】

安全组:onlineshop-sg

应用实例数:1

VCPU:1Core

内存:2GiB

  1. 应用部署配置

    在应用部署配置页面,依次填入如下参数:

    技术栈语言: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

    其余保持默认。

  2. 点击下方启动命令设置:

    options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0

    注:该设置指定了容器启动和使用时的最大内存。

4,部署productservice微服务应用

  1. 再次进入应用创建页面
    在SAE控制台左侧导航栏点击 应用管理-应用列表,进入应用列表页面。
    在应用列表页面,点击 创建应用。
  2. 配置应用基本信息
    在应用基本信息配置页面,依次填入如下参数:
    应用名称:productservice
    专有网络配置:自定义配置
    命名空间:onlineshop-uat | VPC:onlineshop-vpc
    vSwitch:onlineshop-vsw
    【注:在创建frontend应用后,命名空间会和vpc绑定,所以此处不需要再手动选择,命名空间与VPC是一一映射关系】

安全组:onlineshop-sg

应用实例数:1

VCPU:1Core

内存:2GiB

  1. 应用部署配置
    在应用部署配置页面,依次填入如下参数:
    技术栈语言: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
    其余保持默认。
  2. 点击下方启动命令设置:
    options设置:-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
    注:该设置指定了容器启动和使用时的最大内存。
  3. 创建应用
    确认规格无误后,点击右下角 确认创建。

5,配置应用访问

应用部署完成后,我们需要通过CLB实现应用的公网访问。

  1. 在应用列表页面,单击应用名称 frontend,进入应用详情页。
  2. 创建公网CLB
    在 基本信息 页面的 应用访问设置 区域,单击 添加公网CLB访问。

在弹出页面的下方HTTP协议区域配置如下参数:

HTTP端口:80

容器端口:9999

然后点击右下角 确认 按钮。

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

出现该页面,即表示在线商城应用部署成功。

可以在线上商城中浏览商品,并将中意的商品添加至购物车。

6,配置SAE自动弹性伸缩

在实际企业商城业务运营中,经常会有一些秒杀活动场景。秒杀活动通常在短时间内吸引大量用户访问,这会导致服务器负载激增。在秒杀活动之外的时期,不需要维持过多的服务器资源。SAE提供了基于定时策略、监控指标策略以及混合弹性策略三种方式来自动扩缩应用,从而帮企业更好的应对突发流量,优化服务性能,节省成本。

  1. 进入需要扩缩应用的应用详情页面
    复制以下链接至远程桌面浏览器地址栏,进入SAE控制台:
    https://sae.console.aliyun.com/#/AppList

在左侧导航栏 应用管理 > 应用列表 界面中,点击 productservice 应用,进入应用详情。

  1. 创建自动弹性策略
    【操作介绍】本实验通过设置定时策略模拟实际企业生产环境中应对秒杀活动的场景,如企业在每天18:00会放出一批特价商品,在19:00后结束活动。那么就可以设置在每天18:00自动扩充实例,在19:00后再自动缩容回平时水平。在实验场景下,为了能更快体验到效果,我们可以将扩容时间设置为当前时间后一分钟,观察扩容效果,设置在当前时间六分钟后缩容,体验下SAE的自动扩缩功能。

在应用详情的 基本信息 页面,点击右上角的 自动扩缩 配置弹性策略。

依次填入如下参数:

策略类型:定时策略

策略名称:productservice-auto

选择时间:长期

周期:每天

单天内的触发时间:从【当前时间+2分钟】之后保持实例数 2 个

从【当前时间+8分钟】之后保持实例数 1 个

注:【】内的"当前时间"应替换为进行实验时的实际时间,如在配置该时间框时实际时间为11:50,则在该位置填写11:52,在下一行填写11:58即可。

实例数设置:最小实例数1个 最大实例数 2个。

单击 下一步:预览定时策略按钮。

  1. 启用弹性扩缩规则
    在实例部署信息页签的弹性伸缩区域,点击 启用。

等待2分钟,进入设置的扩容时间,在当前 productserice 应用页面刷新。在 基本信息 的 实例部署信息 页签,发现应用实例变成了2个。

再等待6分钟,进入设置的缩容时间。其中一个实例运行状态变为了 Terminating,然后会消失,只剩下1个实例。

可以看到实例数按照先前设置的定时规则在执行变化。

7,SAE可观测能力体验

应用托管到Serverless应用引擎SAE(Serverless App Engine)后,SAE的基础监控会对应用所运行设备的CPU、负载、内存、网络和磁盘进行数据采集与分析,并以动态图的方式展示,方便您实时、直观地了解应用所运行设备的状态。SAE的应用监控会采集并分析应用数据,包括异常实例数、发布单失败率等,并在概览页显示每个指标Top N的应用列表,方便您实时、直观地了解应用的状态。基础监控和应用监控功能为SAE默认提供,无需另外付费。

  1. 在productservice应用的应用详情页面,在左侧导航栏点击 基础监控,查看各项基础监控指标。

  2. 在左侧导航栏中,选择 应用监控 > 应用详情,您也可通过查看应用各项指标信息。


感谢阅读,下期更精彩 👋👋👋

相关推荐
开开心心_Every5 小时前
CDR版本转换工具,支持多版本互转免升级软件
linux·运维·服务器·云原生·edge·pdf·serverless
hhzz7 小时前
使用OSS快速搭建个人网盘
oss·阿里·网盘·cloudreve
hhzz2 天前
【Vision人工智能设计 】Wan(万相) 内容创作平台与能力
人工智能·阿里·视觉大模型·wan·万相
海兰4 天前
Elastic Stack 技术栈与无服务器架构核心指南
云原生·架构·serverless
海兰4 天前
Elasticsearch 全文检索概述
elasticsearch·serverless·全文检索
yidiancaijing6 天前
从“百度一下”到“千问帮我”,互联网换了底层逻辑
阿里·千问
x-cmd8 天前
[x-cmd] 阿里发布 Qwen-Image-2.0,实测复杂插画生成,手绘细节还原度很高!
ai·qwen·阿里·x-cmd·插画·qwen-image
阿里云云原生9 天前
拒绝“Demo 级”架构:基于 SAE × SLS 构建 Dify 高可用生产底座
serverless