BpFile(id=182, bpId=128, name=微服务应用线上流量防护, author=null, keyword=微服务,应用防护,应用高可用,压测演练, description=微服务应用通过AHAS及PTS进行压测及线上应用流量防护, position=null, ossUrl=bp-O4FZURSGZUDQ8C9Z.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
本实践结合基于阿里云的中间件团队的性能测试服务( PTS)以及应用高可用服务(AHAS)验证应用在流量突增下的应用防护能力,同时基于AHAS的数据化架构能力帮助用户对系统架构进行直观详细分析,保障应用的高可用。
, templateId=IL69RLZY0IKMJXX0, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=IL69RLZY0IKMJXX0, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
微服务应用线上流量防护 最佳实践
业务架构 场景描述
用户微服务架构应用基于阿里云 ACK部署,
结合阿里云性能测试服务(PTS)以及阿里云
应用高可用服务(AHAS)验证应用在流量突增
下的应用防护能力,同时基于 AHAS的架构
感知能力提供了数据可视化的架构分析能
力,保障应用的高可用性。
方案优势
⚫ SAAS化的性能测试服务,开箱即用。
⚫ 基于数据的可视化架构分析感知。
⚫ AHAS组件安装便捷,应用侵入小。
⚫ AHAS灵活的应用流控等策略规则保障
应用高可用。
解决问题
1. 压测工具的维护和学习成本高。
2. 应用架构数据化感知分析能力缺失。
3. 缺乏灵活稳定的应用线上流控防护能
力。
产品列表
⚫ 应用高可用服务 AHAS
⚫ 性能测试服务 PTS
⚫ 容器服务 Kubernetes版
⚫ 负载均衡 SLB
⚫ 专有网络 VPC
2文档模板(手册名称)/Error! Use the Home tab to apply 标
云服务器 ECS(产品名称) 题 to the text that you want to appear here.
阿里云
企业上云实践
微服务应用线上流量防护
最佳实践
文档版本:20200113(发布日期)
文档版本:20200113 1
3微服务应用线上流量防护 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 微服务应用线上流量防护最佳实践
文档编号 128
文档版本 V1.1
版本日期 2020-01-13
文档状态 外部发布
制作人 明誉
审阅人 -
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-01-04 明誉、弦望、吾幽、七袋、涵延 创建
背包、桥夫、戎天
V1.1 2020-01-07 筱晖 - 文档优化
V1.2 2020-01-13 明誉 游圣 修改部分文档
描述内容
文档版本:20200113 I
4微服务应用线上流量防护 前言
前言
概述
本实践结合基于阿里云的中间件团队的性能测试服务( PTS)以及应用高可用服务(AHAS)
验证应用在流量突增下的应用防护能力,同时基于 AHAS的数据化架构能力帮助用户对
系统架构进行直观详细分析,保障应用的高可用。
应用范围
⚫ 需要构建高可用应用服务的用户
⚫ 需要降低性能压测学习和维护成本的用户
⚫ 对应用架构有数据可视化展现分析需求的用户
名词解释
⚫ PTS:性能测试服务(Performance Testing Service,简称 PTS)是具备强大的
分布式压测能力的 SaaS压测平台,可模拟海量用户的真实业务场景,全方位验
证业务站点的性能、容量和稳定性。PTS的目标是将性能压测本身的工作持续简
化,用户可以通过较低的人力和资源成本,构造出最接近真实业务场景的复杂交
互式流量,快速衡量系统的业务性能状况,为性能问题定位、容量最佳配比、全
链路压测的流量构造提供最好的帮助。
⚫ ACK:容器服务 ACK(Alibaba Cloud Container Service for Kubernetes)提供高
可性能可伸缩的容器应用管理服务,支持企业级 Kubernetes容器化应用的生命周
期管理。容器服务 ACK简化集群的搭建和扩容等运维工作,整合阿里云虚拟化、
存储、网络和安全能力,打造云端最佳的 Kubernetes容器化应用运行环境。
⚫ AHAS:应用高可用服务(Application High Availability Service,简称 AHAS)是
一款专注于提高应用高可用能力的 SaaS产品,包括架构感知、故障演练和流控
降级(即限流降级)三大独立的功能模块。
文档版本:20200113 III
5微服务应用线上流量防护 最佳实践概述
最佳实践概述
概述
目前大多数公司对线上应用的高可用性越来越关注,面对各种应用不稳定性因素,“面
向失败的应用设计以及应用防护”得到越来越多的用户重视,如何快速发现系统应用
中的瓶颈,清晰直观地梳理应用架构的内部关系以及架构变化,稳定灵活的应用防护
技术是越来越多用户的刚需。
场景描述
随着微服务应用的普及,应用的架构变得越来越复杂,用户需要有清晰的基于数据的
架构可视化能力帮助用户梳理应用架构,及时发现系统架构的问题;同时业务线上流
量会经常会出现突增情况导致线上应用异常从而导致服务受损。用户对应用的高可用
性和稳定性有越来越强烈的需求。
遇到的痛点:
⚫ 缺乏灵活高效支持丰富场景的压测工具
⚫ 微服务应用架构缺乏可视化观测手段
⚫ 缺乏高效稳定易用的应用高可用防护技术能力
方案架构和优势
⚫ 方案架构
文档版本:20200113 IV
6微服务应用线上流量防护 最佳实践概述
⚫ 方案优势
ᅳ 开箱即用的压测工具,维护和学习成本低。
ᅳ 基于数据的多维度架构感知能力,方便用户快速发现架构设计不合理之处以及
梳理架构变化。
ᅳ 稳定易用、规则灵活的应用高可用服务产品,实现线上应用的高可用防护。
ᅳ 阿里巴巴多年的性能压测和应用防护能力经验沉淀。
文档版本:20200113 V
7微服务应用线上流量防护 目录
目录
文档版本信息 ........................................................................................................................................................ I
法律声明 ............................................................................................................................................................... II
前言 ..................................................................................................................................................................... III
最佳实践概述 ...................................................................................................................................................... IV
目录 ..................................................................................................................................................................... VI
前置条件 ............................................................................................................................................................... 1
方案背景 ............................................................................................................................................................... 2
1. Spring Cloud微服务介绍 ............................................................................................................................... 3
1.1. Spring Cloud框架介绍 ................................................................................................................... 3
1.2. PiggyMetrics介绍........................................................................................................................... 3
1.2.1. PiggyMetrics简介 ................................................................................................................... 3
1.2.2. PiggyMetrics架构介绍 ........................................................................................................... 5
1.2.3. 部署 Spring Cloud微服务到阿里云容器服务 Kubernetes版(ACK) ................................... 6
1.3. 本章小结 ........................................................................................................................................ 7
2. AHAS介绍及部署 .......................................................................................................................................... 9
2.1. 阿里云 AHAS介绍.......................................................................................................................... 9
2.2. ACK接入 AHAS pilot ....................................................................................................................... 9
2.3. ACK接入 AHAS流控组件............................................................................................................. 12
2.4. 本章小结 ...................................................................................................................................... 15
3. AHAS架构感知能力 .................................................................................................................................... 16
3.1. 架构感知介绍 .............................................................................................................................. 16
3.2. 本章小结 ...................................................................................................................................... 20
4. PTS + AHAS在应用线上流量防护演练模拟 ................................................................................................ 21
4.1. PTS产品介绍 ............................................................................................................................... 21
4.2. PTS云端录制能力 ........................................................................................................................ 22
4.3. 应用线上流量防护模拟 ............................................................................................................... 32
4.3.1. 模拟瞬时峰值冲击下应用访问异常 .................................................................................... 32
4.3.2. 模拟 AHAS在线上流量突增的防护能力.............................................................................. 35
4.4. 本章小结 ...................................................................................................................................... 46
文档版本:20200113 VI
8微服务应用线上流量防护 前置条件
前置条件
为了顺利完成本实践,您需要提前完成以下准备工作:
⚫ 注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证
页面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成
实名认证。
⚫ 阿里云账户余额大于 100 元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
⚫ 请参考最佳实践《SpringCloud应用托管到 ACK服务》,将 SpringCloud的 Demo
应用部署到阿里云 ACK。
最佳实践链接:
https://www.aliyun.com/acts/best-practice/preview?id=52148
文档版本:20200113 1