阿里中间件企业高可用架构三大解决方案助力企业高可用保障
近日,阿里巴巴2017杭州·云栖大会企业高可用架构分论坛现场,阿里中间件(Aliware)团队首次对企业高可用架构进行了深入解读,全面介绍阿里高可用技术演进的思考,重磅推出全链路压测、故障演练和异地多活三大解决方案助力企业高可用保障,希望帮助企业在互联网转型过程中寻找到最适合自身发展的高可用解决方案,快速完成从0到1的积累。
阿里双十一高可用架构演进,世界级场景下的持续技术创新
多年来双11不断增长的交易规模和流量洪峰,给阿里业务系统稳定性带来了非常严峻的挑战。在这个过程中,阿里沉淀了非常多的技术产品和实战经验。而规模和场景是驱动技术发展的关键要素。阿里8年双11,业务规模增长上百倍,系统的复杂度和大促支撑难度更是以指数级攀升。面对世界级的难题,在业界没有可以参考和借鉴先例的情况下,阿里走上了技术自主创新的道路,沉淀了诸多技术产品,特别是高可用产品经历数代架构演进,最终形成了企业高可用架构产品和解决方案体系。其中包括全链路压测、故障演练、异地多活和线上管控等技术方案,分别用于满足企业在系统容量、健壮性、扩展容灾和运行态保护等方面的需求。
企业高可用架构全图
全链路压测,双十一备战核武器
阿里双11备战期间,保障系统稳定性最大的难题在于容量规划,而容量规划最大的难题在于准确评估从用户登录到完成购买的整个链条中,核心页面和交易支付的实际承载能力。全链路压测的本质是让双11零点这一刻在用户无感知的前提下在系统中预演,模拟“双11”同样的线上环境、用户规模、业务场景和量级,之后再针对性地进行系统调优,是站点的一次高仿真模拟考试。目前,全链路压测与阿里云PTS产品进行了融合,生成全新版本PTS(企业铂金版)。该版本包含全链路压测的流量功能,从全国各地CDN发起流量;且具有超大并发与TPS(千万级)的压测能力;在压测时独享压测资源以及更丰富的压测配套。
全链路压测整体架构
故障演练,系统健壮性的探测仪
问题快速发现处理和面向容灾的架构设计是DevOps团队的两个基本要求。不过随着人员流动、业务多元发展和微服务架构的盛行,理想和现实的差距越来越大,保障稳定性也变得愈加艰难。为了系统化解决淘宝因为依赖问题导致的故障,阿里从2012年开始最早的破坏性测试尝试。到2016年,阿里自研的故障演练系统,已经可以把分布式系统常见的硬件、软件故障以场景化的方式沉淀到系统中,并以演练服务的能力提供出来。通过有针对性的演练,验证系统监控报警、容灾和故障处理的有效性。在2016年的大促备战中,提前发现了几十个重要隐患。目前故障演练服务已经在Aliware的EDAS产品中开放试用。
故障演练覆盖常见的故障场景
异地多活,容量和容灾的进化之路
“容量”和“容灾”这两个需求在各个层面都影响着阿里各项业务的飞速发展。为了不影响业务的高速发展,阿里通过“异地多活”将业务封闭在一个个逻辑单元内,然后在多地部署多个逻辑单元来满足业务对容量和容灾的需求。经过三年建设,阿里从同城双活到异地双活,再到异地多活,已完成电商交易系统全国任意地点部署、随时切换的能力,同时也具备单元方式的粗粒度水平伸缩能力。通过实战积累的异地多活方案,现已成为阿里巴巴技术架构演进的基础设施,而且阿里已将该方案输出赋能给更多互联网企业。外卖行业领军企业饿了么,其业务场景和技术架构都与阿里有着相当大的差异, 在阿里的技术支持下,凭借这套解决方案三个月内走完了阿里三年异地多活的改造之路。
异地多活云端解决方案
企业高可用架构产品路线
我们希望通过企业高可用架构这套体系,把阿里高可用技术变成行业的基本能力,帮助企业少踩阿里踩过的坑。从解决方案的角度,全链路压测、故障演练、异地多活解决方案,与阿里中间件(Aliware)的企业级互联网架构解决方案、应用与数据库迁移解决方案形成互补,一起助力企业业务转型和发展。目前这些高可用模块已通过EDAS(企业级分布式应用服务)套件对外提供服务。包含全链路压测服务的PTS铂金版业已重装上线。
从2008年写下第一行代码,阿里中间件(Aliware)经过内部近10年业务实践使用和技术沉淀,在支撑集团99%应用的同时,也越来越多地将成熟的企业级互联网架构经验产品化,帮助外部客户实现业务云化持续创新。