为提高应用高可用性,可以结合使用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组成的压测流控方案,不仅在阿里内部淘宝、天猫等电商领域有着广泛的应用,在互联网金融、在线教育、游戏、直播行业和其他大型政央企行业也有着大量的实践。
使用方法
- 开通服务并购买资源包。
- 容量评估。
- 使用PTS快速构建高仿真业务压测并发起压测,详情请参见如何在一分钟内发起压测?。
压测过程中可以在场景详情页签中查看各API的压测信息。例如本示例中选课提交 API出现非2xx错误5/s。
- 在PTS控制台观察压测发起侧(客户侧)及服务侧(云监控)的端到端全监控,详情请参见查看监控详情,了解压测下的业务表现和各核心系统的性能水位情况。
- 使用PTS快速构建高仿真业务压测并发起压测,详情请参见如何在一分钟内发起压测?。
- 设置流控、降级、系统和隔离规则。
- 配置流量大盘,详情请参见创建流量大盘。
通过监控详情提供的多方位监控指标,动态调整接口的规则阈值并实时推送。
相关文档