为提高应用高可用性,可以结合使用PTS与AHAS。首先使用PTS压测评估系统瓶颈,然后使用AHAS以系统瓶颈指标为阈值设置流控、降级、系统或隔离规则,保障系统稳定性。

背景信息

随着应用系统的频繁迭代,保障应用系统的稳定性越来越重要。主要原因如下:

  • 随着应用上云的普及,单机架构向分布式架构演进,系统之间的依赖关系、调用链路变的十分复杂。
  • 业务发展带来的服务端迭代越来越快,在性能管理上很难有足够的投入,经常会产生未知的隐患导致性能的大幅下降。

行业痛点:

  • 对系统提供服务的能力不清楚,不知道如何进行压测,写脚本门槛太高。
  • 压测工具维护很麻烦,压测流量不稳定,施压能力有限。
  • 业务接口没有流量保护,瞬间流量超过上限就会压垮系统。
  • 下游依赖服务不稳定,经常调用超时影响核心接口,影响系统稳定性。
  • 非关键业务调用占用太多资源,核心业务的稳定性。

解决方案

借助于阿里巴巴内部多年高可用体系沉淀下来的经验,结合使用性能测试PTS应用高可用服务AHAS,即可从压测、流量防护两个维度协助保障应用的稳定性。PTS是具备强大分布式压测能力的SaaS压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量和稳定性。AHAS则以流量为切入点,从流量控制、熔断降级、热点防护和系统保护等多个维度来帮助保障服务的稳定性,同时提供秒级的流量监控分析功能。

产品优势

功能强大

  • 全SaaS化形态,无需额外安装和部署。
  • 无需安装的云端录制器,更适合移动端App场景。
  • 数据工厂功能,0编码实现压测的API/URL的请求参数格式化。
  • 复杂场景的全可视化编排,支持登录态共享、参数传递、业务断言,同时可扩展的指令功能支持多形态的思考时间、流量蓄洪等。
  • 独创的RPS /并发多压测模式。
  • 流量支持动态秒级调整,百万QPS亦可瞬时脉冲。
  • 强大的报表功能,将压测客户端的实时数据做多维度细分展示和统计,同时自动生成报告供查阅和导出。
  • 压测API/场景均可调试,压测过程提供日志明细查询。

流量真实

  • 流量来源于全国上百城市覆盖各运营商(可拓展至海外),真实模拟最终用户的流量来源,相应的报表、数据更接近用户真实体感。
  • 施压能力无上限,最高支持千万RPS的压测流量。

专业的防护手段

  • 入口流量控制:按照服务容量进行流量控制,常用于应用入口。例如Gateway、前端应用、服务提供方等。
  • 热点隔离:将热点和普通流量隔离出来,避免无效热点抢占正常流量的容量。
  • 对依赖方隔离、降级:对应用和应用之间、应用内部采用隔离、降级手段,将不稳定的依赖的对应用的影响减至最小,从而保证应用的稳定性。
  • 系统防护:AHAS应用防护可以根据系统的能力(例如Load、CPU使用率等)来动态调节入口的流量,保证系统稳定性。

丰富的流量监控

  • 秒级流量分析功能,实时推送动态规则。
  • 流量大盘编排,清晰查看核心业务场景。

灵活的接入方式

提供SDK、Java Agent以及容器接入等多种方式,低侵入快速使用。

经典案例

PTS和AHAS组成的压测流控方案,不仅在阿里内部淘宝、天猫等电商领域有着广泛的应用,在互联网金融、在线教育、游戏、直播行业和其他大型政央企行业也有着大量的实践。

使用方法

  1. 开通服务并购买资源包。
  2. 容量评估。
    1. 使用PTS快速构建高仿真业务压测并发起压测,详情请参见如何在一分钟内发起压测?

      压测过程中可以在场景详情页签中查看各API的压测信息。例如本示例中选课提交 API出现非2xx错误5/s。

      容量评估1
    2. 在PTS控制台观察压测发起侧(客户侧)及服务侧(云监控)的端到端全监控,详情请参见查看监控详情,了解压测下的业务表现和各核心系统的性能水位情况。
  3. 设置流控、降级、系统和隔离规则。
    1. 将应用接入AHAS,详情请参见接入应用方式
    2. 根据所压测接口的RT响应情况、系统负载以及当前压测的请求量为接口配置流控、降级、系统和隔离规则。
      • 配置流控规则:流控规则一般用于入口流量的防护,避免突发流量超过系统所能承受的最大值而压垮系统。
      • 配置熔断规则:对于系统中存在的弱依赖服务,为了避免依赖的下游服务不可用拖累整个系统,可以在调用方设置降级规则。
      • 自适应流控:为系统设置整体防护规则,对于CPU、Load等指标超过设定的阈值时触发系统限流,保障系统整体的可用性。
      • 配置隔离规则:对于线程资源消耗比较多的接口,可以创建隔离规则,避免该接口在并发量大的情况下占用过多系统资源导致线程池满等问题。
  4. 配置流量大盘,详情请参见创建流量大盘
    通过监控详情提供的多方位监控指标,动态调整接口的规则阈值并实时推送。流量大盘

相关文档