首页 卓越效能,极简运维,Serverless高可用架构

卓越效能,极简运维,Serverless高可用架构

更新时间: 2024-12-03 11:49:14

手动部署

50

https://www.aliyun.com/solution/tech-solution/serverless-ha

方案概览

业务的持续稳定可服务,决定着企业对客户的服务质量,是企业发展的基础。应用部署的高可用架构和弹性能力对于业务的稳定与发展起着至关重要的作用,但企业同时需要考虑资源维护成本和费用成本。本方案采用云上的Serverless架构,原生支持弹性伸缩、按量付费和服务托管,减少企业手动资源管理和性能成本优化的工作,同时通过高可用的配置,避免可能遇到的单点故障风险。

方案架构

本架构采用单地域双可用区部署,将业务系统、数据库部署在2个不同可用区,实现了可用区级故障灾备能力,从而保证了业务的连续性。服务和数据库都采用了阿里云Serverless产品采用按需付费产生更低的成本,同时支持弹性伸缩更好的适应业务增长。该架构还利用专有网络VPC、交换机和跨可用区安全组等基础设施,实现了私有网络下的系统通信。

方案提供的默认设置完成部署后在阿里云上搭建的Serverless高可用架构如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。image

本方案的技术架构包括以下基础设施和云服务:

  • 1个专有网络VPC:为应用型负载均衡ALB、Serverless应用引擎、云数据库PolarDB MySQL版Serverless集群等云资源构建云上私有网络。

  • 5台交换机Vswitch:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两个Serverless应用引擎实例分别部署在两个可用区的业务平面,一对云数据库PolarDB MySQL版Serverless主备集群分别部署在两个可用区的数据平面。

  • 1个公网应用型负载均衡ALB:将公网访问流量分发到不同的Serverless应用引擎实例。公网ALB通过EIP提供公网服务能力。

  • 2个Serverless应用引擎实例:用于部署业务系统,提供应用服务。

  • 1个云数据库PolarDB MySQL版Serverless集群:为业务系统提供数据服务。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。开通 Serverless 应用引擎 SAE,您的账户余额必须大于0元,请充值后再开通。

  3. 开通 Serverless 应用引擎 SAE。打开Serverless 应用引擎 SAE 控制台,按照界面指引完成开通操作。

    image

部署资源

30

请按照以下步骤部署方案中的所有资源。

创建专有网络VPC和交换机

为了实现高可用,您需要将服务负载和数据库等资源尽可能分布在多个可用区,规避单可用区故障造成的服务不可用。本方案以双可用区为例,因此,您需要创建1个专有网络和5个交换机。PolarDB MySQL版 Serverless集群仅需要1个交换机,系统自动选择备可用区。

  1. 登录专有网络管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,单击专有网络

  4. 专有网络页面,单击创建专有网络

  5. 创建专有网络页面,配置1个专有网络和5台交换机。配置交换机时,请确保交换机所属的可用区的ECS、ALB是可用状态。

    项目

    说明

    示例值

    VPC名称

    建议您在部署过程中新建一个VPC作为本方案的专有网络。部署过程中填写VPC名称即可创建对应名称的VPC。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    VPC_HZ

    IPv4网段

    在创建VPC时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云VPC支持的网段信息请参见专有网络组成部分

    在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。

    192.168.0.0/16

    交换机名称

    建议您在部署过程中在新建的VPC内创建虚拟交换机。部署过程中填写交换机名称即可创建对应名称的虚拟交换机。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    • vsw_web_001

    • vsw_web_002

    • vsw_db_001

    • vsw_pub_001

    • vsw_pub_002

    交换机可用区

    在规划的地域内选择2个不同的可用区,虚拟交换机部署在2个可用区。

    建议选择排序靠后的,一般此类可用区较新。新可用区资源更充沛,新规格也会在新的可用区优先上线。

    可用区 K

    • vsw_web_001

    • vsw_pub_001

    • vsw_db_001

    可用区 J

    • vsw_web_002

    • vsw_pub_002

    交换机IPv4网段

    每台虚拟交换机需要一个IPv4网段

    • vsw_web_001:192.168.1.0/24

    • vsw_web_002:192.168.2.0/24

    • vsw_db_001:192.168.3.0/24

    • vsw_pub_001:192.168.4.0/24

    • vsw_pub_002:192.168.5.0/24

创建安全组

您已经在1个专有网络VPC下的2个可用区分别创建5台交换机。接下来您需要创建1个跨可用区的安全组,用于限制该专有网络VPC下的5台交换机的网络流入和流出。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择网络与安全>安全组

  3. 在顶部菜单栏,选择华东1(杭州)地域。

  4. 安全组页面,单击创建安全组

  5. 创建安全组页面,创建1个安全组。

    项目

    说明

    示例值

    名称

    设置安全组的名称。

    SecurityGroup_1

    网络

    选择之前规划的专有网络VPC。

    VPC_HZ

    安全组类型

    本方案选择普通安全组,具体差异您可以参考普通安全组与企业级安全组

    普通安全组

    入方向

    入方向除默认的端口号外,本方案还需添加3306端口号。

    3306

创建云数据库PolarDB MySQL版 Serverless集群

您已经创建了VPC和vSwitch。接下来您需要创建云数据库PolarDB MySQL版 Serverless集群、数据库、数据库账号。您需要记录创建的云数据库 PolarDB MySQL版 Serverless集群的内网连接地址、数据库名称、账号、密码用于之后的配置和使用。

  1. 创建云数据库PolarDB MySQL版 Serverless集群。

    1. 登录云数据库PolarDB控制台

    2. 全局概览页面,单击创建集群

    3. 在购买页面,根据页面提示购买1个云数据库PolarDB MySQL版 Serverless集群。

      项目

      说明

      示例值

      计费类型

      本方案以Serverless为例。

      Serverless

      地域

      本方案以华东1(杭州)地域为例。

      华东1(杭州)

      创建方式

      本方案以创建主集群为例。

      创建主集群

      数据库引擎

      本方案以MySQL为例。

      MySQL 8.0.2

      产品版本

      本方案以企业版为例。

      企业版

      主可用区

      选择交换机vsw_db_001所在的可用区 K。

      可用区 K

      网络类型

      选择前序步骤中创建的VPC和交换机。

      专有网络

      VPC_HZ、vsw_db_001

      高可用模式

      开启存储热备集群,PolarDB会在地域内同时部署主集群(包含互备计算节点+存储主集群)和存储热备集群,存储主集群和存储热备集群各3副本(共6副本数据),更高 SLA 可靠性保障。

      双AZ(开启存储热备集群)

      规格和代理

      保持默认即可。

      • 只读节点个数伸缩下限:1

      • 只读节点个数伸缩上限:4

      • 单节点伸缩下限:1

      • 单节点伸缩上限:16

      • 是否开启无活动暂停:关闭(默认)

      存储类型

      本方案以PSL5为例。

      PSL5

  2. 进入集群基本信息页面。

    云数据库PolarDB控制台左侧导航栏,单击集群列表查看集群找到创建的目标集群,单击集群ID。

  3. 创建数据库账号。

    1. 在左侧导航栏中,选择配置与管理 > 账号管理

    2. 单击创建账号

    3. 创建账号面板,设置数据库账号名,选择账号类型为普通账号,设置密码。

  4. 创建数据库。

    1. 在左侧导航栏,选择配置与管理>数据库管理

    2. 单击创建数据库

    3. 创建数据库面板,设置数据库名称,请务必选择授权账号为上一步创建的账号。

  5. 获取数据库的内网地址。

    1. 在左侧导航栏,选择基本信息

    2. 数据库连接区域下,复制主地址的私网地址。

      image

  6. 设置白名单,将安全组添加进白名单。

    1. 在左侧导航栏,单击配置与管理 > 集群白名单

    2. 在集群白名单页面,单击选择安全组。

    3. 选择安全组对话框中,选中之前创建的安全组。

创建Serverless应用引擎实例

接下来您需要在2个可用区分别创建1个Serverless应用引擎实例,来实现服务跨可用区的高可用。

  1. 登录Serverless应用引擎SAE控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表

  3. 在顶部菜单栏选择地域华东1(杭州)

  4. 在应用列表页面,单击创建应用

  5. 创建应用页面,根据控制台提示完成应用创建,您可以参考以下配置。

    1. 应用基本信息页面,配置相关信息

      分类

      配置项

      说明

      示例

      基础信息设置

      应用名称

      自定义。

      serverless-demo

      应用描述

      自定义。

      serverless-demo

      命名空间类型

      自定义。

      选择已有命名空间

      命名空间

      为应用提供逻辑隔离的运行环境。从下拉列表选择默认或自定义的命名空间,如果选择自定义命名空间,需单击创建命名空间,跳转至命名空间页面创建。

      根据页面提示创建新的命名空间。创建命名空间时需要以下配置:

      • 填入命名空间名称

      • 填入命名空间ID

      • 专有网络 VPC选择之前创建的 VPC:VPC_HZ

      专有网络 VPC

      选择自定义配置。

      VPC_HZ

      交换机 vSwitch

      选择之前创建的交换机

      vsw_web_001

      vsw_web_002

      安全组

      选择之前创建的安全组

      SecurityGroup_1

      应用部署方式

      支持选择镜像部署和代码包部署。本例选择代码包部署。

      代码包部署。在设置代码包部署弹出框中配置如下:

      1. 技术栈语言选择Java

      2. 代码包类型选择JAR包部署

      3. 应用运行环境选择标准Java应用运行环境

      4. Java环境选择Open JDK 8

      5. 文件上传方式选择JAR包地址,填入地址https://help-static-aliyun-doc.aliyuncs.com/tech-solution/sae-demo-0.0.3.jar

      容量设置

      单实例规格

      建议在测试环境中使用0.5 Core 1 GB,在生产环境中依据实际情况选择更高的实例规格。

      CPU 2 核 内存 4 GB

      实例数

      运行的实例个数

      2

    2. 配置完应用基本信息后,单击下一步:高级设置,进入高级设置页面,配置相关信息。

      分类

      配置项

      说明

      示例

      启动命令设置

      options设置

      启动命令设置,options设置填入示例内容。

      -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/admin/nas/gc-${POD_IP}-$(date '+%s').log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/nas/dump-${POD_IP}-$(date '+%s').hprof

      环境变量

      单实例规格

      单击+ 添加配置自定义变量。逐条输入示例内容。数据库连接信息可以访问PolarDB控制台查看。

      • 变量名称:APPLETS_MYSQL_ENDPOINT

        变量值:<PolarDB数据库链接地址>

      • 变量名称:APPLETS_MYSQL_USER

        变量值:<创建的数据库用户名>

      • 变量名称:APPLETS_MYSQL_PASSWORD

        变量值:<创建的数据库密码>

      • 变量名称:APPLETS_MYSQL_DB_NAME

        变量值:<创建的数据库名称>

      应用健康检查设置

      启用应用实例存活检查(Liveness配置)

      启用后,SAE 会根据健康检查设置检查容器是否正常,不正常则重启实例。

      开启检查,并配置以下内容。更多配置信息,请参见设置健康检查

      • 检查方式HTTP请求检查

      • 路径/

      • 端口80

      • 延迟时间(秒)10

      • 超时时间(秒)10

      启用应用业务就绪检查(Readiness配置)

      启用后,SAE 会根据健康检查用户业务是否就绪,不就绪则不转发流量到当前实例。

      开启检查,并配置以下内容。更多配置信息,请参见设置健康检查

      • 检查方式执行命令检查

      • 延迟时间(秒)10

      • 执行命令设置应用实例或者进程内部执行的健康检查命令。本方案不做特殊健康检查。

        image

创建负载均衡ALB

接下来您需要创建1个公网类型的应用型负载均衡ALB并配置路由,从而实现这个专有网络VPC下的Serverless应用引擎实例对外的公网访问和流量分发。

  1. 登录应用型负载均衡ALB控制台

  2. 创建应用型负载均衡ALB实例:

    1. 在顶部菜单栏左上角,选择华东1(杭州)地域。

    2. 实例页面,单击创建应用型负载均衡

    3. 应用型负载均衡(按量付费)页面,购买1个ALB实例。

      项目

      说明

      示例值

      地域

      本方案以华东1(杭州)为例。

      华东1(杭州)

      实例网络类型

      本方案面向公网提供应用型负载均衡服务,公网可访问。

      公网

      VPC

      选择之前规划的VPC。

      VPC_HZ

      可用区和交换机

      选择之前规划的交换机。

      • 杭州可用区 K vsw_pub_001

      • 杭州可用区 J vsw_pub_002

      IP模式

      每个可用区至少有一个IP,随着业务请求的增加,应用型负载均衡会自动扩展IP数量,此模式下应用型负载均衡具备超强弹性能力。

      动态IP

      协议版本

      本方案以IPV4为例。

      IPV4

      功能版本(实例费)

      本方案以基础版为例。

      基础版

      实例名称

      设置应用型负载均衡ALB实例的名称。

      ALB_HZ

      服务关联角色

      若未创建,请根据控制台创建服务关联角色。

      若未创建,请根据控制台创建服务关联角色。

  3. 配置SAE路由并验证。

    1. 登录Serverless应用引擎SAE控制台

    2. 在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。

    3. 在左侧导航栏,单击网关路由,然后在网关路由页面,单击创建网关路由

    4. 创建路由页面,配置相关信息。

      配置项

      说明

      示例

      路由名称

      设置路由规则的名称。

      serverless-demo-router

      网络类型

      选择待转发请求的网络类型。

      • 公网:通过公网网关转发的请求,按照实际转发流量计费。

      • 私网:通过私网网关转发的请求不计费,仅在当前VPC内部转发。

      公网

      网关类型

      选择ALB,并在ALB下拉列表选择目标ALB实例。(注意:如果下拉菜单空白应检查微服务应用和ALB是否在统一VPC)

      ALB实例数量上限与负载均衡管理控制台上保持一致。

      创建的ALB实例

      前端协议类型

      选择请求转发协议。

      • HTTP:适用于需要对数据内容进行识别的应用,如Web应用和小型手机游戏等。

      • HTTPS:适用于需要加密传输的应用。

      HTTP

      SSL证书

      仅选择HTTPS协议时需要设置。

      选择一个或多个证书。如果选择多个证书,则第一个证书为默认证书,后续添加的证书为扩展证书。如果您账户下没有SSL证书,请登录数字证书管理服务控制台创建。

      不需要

      访问端口

      设置接收请求并向后端服务或者应用进行请求转发的监听端口。

      80

      自定义转发策略

      • 域名:输入要转发的请求域名。

      • Path:输入请求转发路径。例如example.com/product/sae,请求转发路径/product/sae

      • 后端协议类型:选择协议类型。

        • http:适用于需要对数据内容进行识别的应用。默认显示。

        • https:适用于需要加密传输的应用。

        • grpc:适用于.net等多语言用户gRPC的负载均衡场景。

        说明

        该配置项只有您在配置网关入口页签选择ALB,并且前端协议类型选择HTTPS时才需要设置。

      • 后端应用:选择接收转发请求的应用,该应用须与转发请求的应用在同一个命名空间内。

      • 容器端口:设置访问后端应用的容器端口。

      • 重写策略:在请求转发给目标后端服务之前,重写可以修改原始请求的Path。

      域名:如果有输入真实域名,如果没有请输入example.com。

      Path:本方案以默认/为例。

      后端应用选择之前创建的SAE应用。

      容器端口填入 80。

      默认转发策略

      • 后端应用:选择需要转发的后端应用。

      • 容器端口:设置访问后端应用的容器端口。

      后端应用选择之前创建的SAE应用,容器端口填入 80。

    5. 结果验证。登录应用型负载均衡ALB控制台,在ALB实例页面,单击目标实例ID,在监听页签查看监听是否已经配置。

完成及清理

10

方案验证

一、通过访问ALB的DNS名称,验证服务可用性

  1. 登录应用型负载均衡ALB控制台,从实例列表中获取ALB实例的DNS名称。

  2. 通过浏览器访问该DNS名称,检查是否可以正常访问到示例应用。image

二、配置弹性伸缩并通过Apache Benchmark进行负载测试,验证Serverless架构的弹性和高可用性

配置弹性伸缩
  1. 打开Serverless应用引擎SAE控制台,点击左侧导航栏选择应用管理 > 应用列表。点击当前应用名称,进入应用详情页。

  2. 弹性伸缩页签添加弹性策略,请按照图片进行配置。

    image

  3. 添加完毕后,在弹性伸缩页签下的监控指标策略列表中点击启用。更多配置方式可参考配置弹性伸缩策略

进行负载测试
  1. 安装测试工具Apache Benchmark,Mac OS操作系统默认安装了该测试工具,其他操作系统安装教程请参见官方文档image

  2. 请在本地终端中,使用Apache Benchmark命令进行负载测试,模拟不同的并发请求和持续时间。从应用型负载均衡ALB控制台实例详情中获取DNS名称,将<ALB实例的DNS名称>替换成实际值。

    ab -n 20000 -c 200 http://<ALB实例的DNS名称>/

    命令

    说明

    ab

    Apache Benchmark提供的压测工具命令。

    -c

    一次创建的请求个数。

    -n

    一次测试会话中执行的请求个数。

验证弹性伸缩能力
  1. 命令执行完毕后,单击应用事件,在全部来源类型下拉列表,选择自动弹性(HorizontalPodAutoscaler),可以看到弹性伸缩原因。image

  2. 基本信息单击实例部署信息可以看到实例数量的变化,运行中实例从最初的2个变成6个。

    image

以上操作验证了Serverless架构的弹性伸缩能力。系统能够根据负载自动调整资源,确保业务的高效运行。此外,当前方案采用单地域双可用区部署,业务系统和数据库分别部署在不同的可用区,确保了系统的高可用性。即使一个可用区发生故障,另一个可用区的资源仍然能够继续提供服务,保证业务的连续性和稳定性。

清理资源

在本方案中,您创建了2个Serverless应用引擎实例、1个应用型负载均衡ALB实例、5个交换机、1个专有网络VPC、1个云数据库PolarDB MySQL版Serverless集群。测试完方案后,您可以参考以下规则处理对应产品的实例,避免继续产生费用:

  1. 释放2个Serverless应用引擎实例:

    登录Serverless应用引擎SAE控制台,在应用列表页面,找到目标实例,单击应用名称进入详情页,在详情页右上角单击更多>删除应用

  2. 释放1个云数据库PolarDB MySQL版Serverless集群:

    登录PolarDB管理控制台,在集群列表页面,找到目标集群,然后在操作列中选择更多>释放

  3. 释放1个应用型负载均衡ALB实例:

    登录应用型负载均衡ALB控制台实例页面,找到目标ALB实例,然后在操作列选择216更多-竖向..png>释放,按照界面提示释放实例。

  4. 释放5个交换机:

    登录专有网络控制台,在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。

  5. 删除1个安全组:

    登录ECS 控制台,在安全组页面,找到目标安全组,然后在操作列单击删除,按照界面提示删除安全组。

  6. 释放1个专有网络VPC:

    登录专有网络控制台,在专有网络页面,找到目标VPC,然后在操作列单击删除,按照界面提示释放实例。

一键部署

30

https://www.aliyun.com/solution/tech-solution/serverless-ha

方案概览

业务的持续稳定可服务,决定着企业对客户的服务质量,是企业发展的基础。应用部署的高可用架构和弹性能力对于业务的稳定与发展起着至关重要的作用,但企业同时需要考虑资源维护成本和费用成本。本方案采用云上的Serverless架构,原生支持弹性伸缩、按量付费和服务托管,减少企业手动资源管理和性能成本优化的工作,同时通过高可用的配置,避免可能遇到的单点故障风险。

方案架构

本架构采用单地域双可用区部署,将业务系统、数据库部署在2个不同可用区,实现了可用区级故障灾备能力,从而保证了业务的连续性。服务和数据库都采用了阿里云Serverless产品采用按需付费产生更低的成本,同时支持弹性伸缩更好的适应业务增长。该架构还利用专有网络VPC、交换机和跨可用区安全组等基础设施,实现了私有网络下的系统通信。

方案提供的默认设置完成部署后在阿里云上搭建的Serverless高可用架构如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。image

本方案的技术架构包括以下基础设施和云服务:

  • 1个专有网络VPC:为应用型负载均衡ALB、Serverless应用引擎、云数据库PolarDB MySQL版Serverless集群等云资源构建云上私有网络。

  • 5台交换机Vswitch:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两个Serverless应用引擎实例分别部署在两个可用区的业务平面,一对云数据库PolarDB MySQL版Serverless主备集群分别部署在两个可用区的数据平面。

  • 1个公网应用型负载均衡ALB:将公网访问流量分发到不同的Serverless应用引擎实例。公网ALB通过EIP提供公网服务能力。

  • 2个Serverless应用引擎实例:用于部署业务系统,提供应用服务。

  • 1个云数据库PolarDB MySQL版Serverless集群:为业务系统提供数据服务。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。开通 Serverless 应用引擎 SAE,您的账户余额必须大于0元,请充值后再开通。

  3. 开通 Serverless 应用引擎 SAE。打开Serverless 应用引擎 SAE 控制台,按照界面指引完成开通操作。

    image

一键部署

10

一键部署基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,ROS模板已定义好脚本,可自动化地完成云资源的创建和配置,提高资源的创建和部署效率。

操作步骤

您可以通过下方提供的ROS一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建2个Serverless应用引擎实例。

  • 创建1个专有网络VPC。

  • 创建5台交换机。

  • 创建1个云数据库PolarDB MySQL版Serverless集群。

  1. 一键部署资源。

    1. 单击一键部署,在顶部导航栏选择地域。

    2. 在配置页面修改资源栈名称,按需选择和配置参数。

    3. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

完成及清理

10

方案验证

一、通过访问ALB的DNS名称,验证服务可用性

  1. 登录应用型负载均衡ALB控制台,从实例列表中获取ALB实例的DNS名称。

  2. 通过浏览器访问该DNS名称,检查是否可以正常访问到示例应用。image

二、配置弹性伸缩并通过Apache Benchmark进行负载测试,验证Serverless架构的弹性和高可用性

配置弹性伸缩
  1. 打开Serverless应用引擎SAE控制台,点击左侧导航栏选择应用管理 > 应用列表。点击当前应用名称,进入应用详情页。

  2. 弹性伸缩页签添加弹性策略,请按照图片进行配置。

    image

  3. 添加完毕后,在弹性伸缩页签下的监控指标策略列表中点击启用。更多配置方式可参考配置弹性伸缩策略

进行负载测试
  1. 安装测试工具Apache Benchmark,Mac OS操作系统默认安装了该测试工具,其他操作系统安装教程请参见官方文档image

  2. 请在本地终端中,使用Apache Benchmark命令进行负载测试,模拟不同的并发请求和持续时间。从应用型负载均衡ALB控制台实例详情中获取DNS名称,将<ALB实例的DNS名称>替换成实际值。

    ab -n 20000 -c 200 http://<ALB实例的DNS名称>/

    命令

    说明

    ab

    Apache Benchmark提供的压测工具命令。

    -c

    一次创建的请求个数。

    -n

    一次测试会话中执行的请求个数。

验证弹性伸缩能力
  1. 命令执行完毕后,单击应用事件,在全部来源类型下拉列表,选择自动弹性(HorizontalPodAutoscaler),可以看到弹性伸缩原因。image

  2. 基本信息单击实例部署信息可以看到实例数量的变化,运行中实例从最初的2个变成6个。

    image

以上操作验证了Serverless架构的弹性伸缩能力。系统能够根据负载自动调整资源,确保业务的高效运行。此外,当前方案采用单地域双可用区部署,业务系统和数据库分别部署在不同的可用区,确保了系统的高可用性。即使一个可用区发生故障,另一个可用区的资源仍然能够继续提供服务,保证业务的连续性和稳定性。

清理资源

您可以使用ROS一键删除创建的云资源,避免继续产生费用。

  1. 登录ROS控制台

  2. 在左侧导航栏,选择资源栈

  3. 资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除

  4. 删除资源栈对话框,选择删除方式释放资源,然后单击确定,根据提示完成资源释放。