探索阿里巴巴如何打造共享服务中台的稳定性——走进《企业IT架构转型之道》系列3

简介:


image

前面两篇介绍了共享服务中台的业务价值以及建设原则,本篇内容将主要介绍当服务中台支撑越来越多业务场景后,在打造平台稳定性能力方面所探索出的一系列创新技术以及成果。整个稳定性体系包含的内容非常广,机房布线、网络通信、硬件部署、应用架构、数据容灾等都与稳定性相关,这里我们提到的稳定性主要指从共享服务中台的角度,实现了对中台应用架构以及平台自身的精细化管控以及保障,主要措施包括容量压测和评估、全链路压测、流量的限流和降级以及业务一致性平台。


容量压测和评估

想了解一个平台的容量,在传统的常规性能测试以及系统容量评估时,一般是通过需求分析得出压测的业务场景以及不同场景在压测中的比例关系,或者是凭经验对业务进行分析而得出经验型的测试模型,再通过测试工具进行模拟压测,以此来判断该系统的最大负载。

然而该经验型的测试方法不仅测试场景简单,并且测试结果大部分依赖测试人员的水平,当业务频繁变化时导致多场景模拟成本巨大甚至无法完整的评估。为了更加精准的了解平台容量,科学利用服务器资源,阿里巴巴技术团队经过多年的实施与验证总结出了一套在分布式应用架构下应用系统容量测试与评估的自动化平台。

应用系统容量预测包括容量压测以及容量分析预测两部分:容量压测通过将线上真实的流量引流到压测目标机器上,并不会对本系统及下游系统带来额外的流量,也不需要准备测试数据、压测系统,利用HSF服务框架对于服务路由权重的支持,通过对服务路由权重的逐步增加达到逐步增加某服务单机请求数量的目的,以此来验证单机服务实例所能提供的最大QPS处理值;容量规划平台则是利用服务的单机QPS数据,结合多年来沉淀的算法,对各种服务器机型处理能力的差异化分析,来更加准确的预测大促活动需要部署的服务器资源,提升平台精细化管控能力的同时也大大的节省了资源成本。


全链路压测平台

全链路压测是阿里全系统在每个环节都参加的双11实战演习,双11活动09年开始举办,但实际上在2013年前,无人能确保平台全链路的高可靠性,容量压测以及规则仅仅是针对单个应用进行评估,以及后面即将提到的限流、降级等措施重点在于对平台的稳定性保障,为了彻底解决这个难题,从2013年开始,阿里巴巴开始了称为全链路压测的工作,并很快成为集团大促备战最重要的武器,在历年的全链路压测过程中,提前暴露了诸多环节存在的问题。

全链路压测平台通过应用系统改造使线上环境可以同时处理正常流量和测试流量,获得真实的线上实际承载能力数据。进行全链路压测,涉及范围非常广泛包括网络、应用、数据库以及安全等都需要改造,下面简单介绍该平台:

  1. 基础数据抽取——为了模拟尽可能真实,全链路压测以线上数据为数据源进行采样、过滤和脱敏,数据量与线上数据保持同一个数量级并在数据库上进行区间隔离;
  2. 链路与模型构造——链路代表要压测的范围,链路的访问量级、链路的参数集合以及基础数据的特性一起构造了压测的模型;
  3. 链路验证——在全链路压测平台建设过程中,验证环节耗费了项目组大量的时间和精力,电子商务业务特性复杂,下订单以及支付等上百条链路,每一条链路都需要在平台上进行验证,目前链路验证已经集成到平台当中,能够自动化完成对压测链路的验证;
  4. 业务系统改造——在业务系统针对压测流量进行改造,比如为了支持压测链路的重复执行、下游写流量的拦截、防止污染BI报表和线上推荐算法等场景;
  5. 数据平台——全链路压测的基地;
  6. 流量平台——全链路压测的CPU,主要由全链路压测操控中心以及压测引擎两大部件构成;
  7. 影子表——为了不污染线上的正常数据,在同一个数据库实例上对数据库表建同样结构的影子表来进行数据隔离;
  8. 中间件改造——全链路压测需要所有中间件的协议都支持对压测流量的识别,使得压测标识能够随着调用传递下去,使得下游的应用、基础中间件和存储都能够识别压测流量;
  9. 安全机制——安全机制分为两层:第一层是安全的监控和防护,建立非法流量的监控机制、防止数据错乱;第二层是对压测流量的安全过滤,针对压测流量放松安全过滤,使得压测流量不被判别为攻击流量。


流量的限流和降级

限流的作用相当于保险丝,当过载的时候掐掉一些流量,让系统有能力集中资源以较快的速度处理平台能力范围内的客户。比如某次活动,预计100万人的流量结果涌来千万用户,容易使得后端的服务器直接满负荷运算最终造成整个平台无法响应,限流之后仅让100万用户进入后端的处理流程,给被阻拦的用户返回限流页面,限流页面可以与活动页面保持一致在一定程度上减低用户的失落体验。

阿里巴巴通过在Nginx上实现的扩展组件TMD(Taobao Missile Defense)实现了接入层限流的主要工作,主要通过域名类限流、cookie限流、黑名单等一些安全策略来实现。对于服务层的限流控制,主要通过限流平台Sentinel控制,Sentinel平台是对资源调用的控制平台,主要涵盖了授权、限流、降级、调用统计监控四大模块。同时Sentinel平台还提供降级功能,除了通过代码中修改服务调用逻辑的值外,也可以通过Sentinel控制台提供的降级规则的配置来开启服务的降级模式。


业务一致性平台

业务与数据不一致的问题原因非常复杂,远程服务调用失败、数据库保存失败、MQ消息发送失败或者程序设计自身的问题都会导致业务数据异常。为了解决这个问题,实时业务审计BCP(Business Check Platform)应运而生,BCP平台并不仅限于交易类业务,也适合其他对业务稳定性要求比较高的领域,通过事件模式,把业务数据变化触发的消息转换为相应业务类型的事件,放入到事件执行队列进行规则检查。
BCP平台主要实现了4个目标,第一:高实时性地发现业务脏数据或错误逻辑;第二:让各应用快速接入BCP平台;第三:整合订正工具,形成规范的脏数据订正流程;第四:实现了对新业务上线的实时监控。BCP平台让整个平台稳定性能力从技术维度延伸到了业务维度,是平台稳定性体系中一个非常重要的拼图。

内容摘录于《企业IT架构转型之道》,限于篇幅原因,本篇有关流量调度以及业务开关环节未做介绍,有兴趣的读者可以阅读阿里巴巴中间件首席架构师钟华著作的《企业IT架构转型之道》一书,此系列就此结束,前两篇的文章链接如下,欢迎一起探讨:
阿里巴巴中台架构的建设原则——走进《企业IT架构转型之道》系列2
阿里巴巴中台架构的业务价值思考——走进《企业IT架构转型之道》系列1

作者:钟华(古谦)
阿里巴巴中间件首席架构师,15年中间件领域行业经验。对传统企业IT建设和互联网架构都有较为深入的理解,有着扎实的理论基础和丰富的实战经验,多次作为总架构师协助大型传统企业打造业务中台项目,为企业实现“互联网+”转型提供了科学的发展方向和强有力的技术支持,项目涉及政府、制造业、金融、交通、媒体等多个领域。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1天前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
2天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
7天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第1天】 随着数字化转型的深入,云原生技术以其灵活性、可扩展性和敏捷性成为现代企业IT架构的核心。本文将探讨云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析它们如何共同塑造企业的运营模式。同时,文章还将讨论在采纳云原生过程中企业可能遇到的挑战,如安全性问题、技术复杂性以及组织文化的转变,并提出应对策略。
26 8
|
8天前
|
Cloud Native Devops 持续交付
构建未来应用:云原生架构在现代企业中的实践与挑战
【4月更文挑战第29天】 随着数字化转型的加速,企业正迅速转向云计算以支撑其业务敏捷性和创新。云原生技术,作为推动这一转型的关键因素,正在重新定义软件开发和运维模式。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps文化,并分析这些技术如何帮助企业实现弹性、可扩展和高效的应用部署。同时,我们将讨论在采纳云原生实践中所面临的挑战,包括安全性、治理和人才缺口等问题。
|
8天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的不断深入,企业的IT架构正经历着根本性的变革。云原生技术以其独特的弹性、可扩展性和敏捷性成为这一转型的关键驱动力。本文将探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析这些技术如何帮助企业实现快速迭代和高效运营。同时,我们也将识别在采纳云原生技术过程中可能遇到的挑战,并提出相应的解决策略。通过实际案例分析,本文旨在为决策者提供实施云原生架构的洞见,以加速其业务创新和市场响应速度。
|
8天前
|
Cloud Native 安全 Devops
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的不断深入,云原生架构已成为支撑企业敏捷性、可扩展性和创新能力的关键。本文将深入探讨云原生技术的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析其在不断变化的商业环境中实现快速迭代和资源优化的能力。同时,文章还将讨论企业在采纳云原生架构时面临的挑战,如技术选型、团队技能培养、安全性考虑及成本管理,并提出相应的解决策略。
|
8天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第29天】 随着数字化转型的加速,云原生技术正成为推动企业IT架构现代化的关键力量。本文深入探讨了云原生架构的核心组件、实施策略以及面临的主要挑战。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等关键技术,揭示了云原生架构如何助力企业提高敏捷性、优化资源利用和加强安全性。文中还将提供针对企业在采用云原生实践中遇到的难题,如服务治理、复杂性和技能缺口等,提出切实可行的解决方案。
|
9天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【4月更文挑战第29天】 随着数字化转型的浪潮席卷各行各业,企业对于信息技术基础设施的要求日益提高。传统的IT架构已难以满足快速迭代、灵活扩展和持续创新的需求。本文聚焦于云原生架构,一种为云计算环境量身打造的设计理念和技术集合,旨在帮助企业构建更加灵活、可靠和高效的系统。通过对云原生核心组件的解析、实施策略的探讨以及成功案例的分析,我们揭示了云原生架构如何助力企业在竞争激烈的市场中保持领先地位。
|
9天前
|
Cloud Native 持续交付 云计算
构建未来:云原生架构在现代企业中的应用和影响
【4月更文挑战第29天】随着科技的日新月异,云计算已经成为推动企业数字化转型的关键力量。特别是云原生架构,以其独特的设计理念和技术实践,为企业提供了灵活、高效、可扩展的解决方案。本文将深入探讨云原生架构的核心概念,分析其在现代企业中的实际应用,以及其对企业运营和战略的深远影响。
|
9天前
|
Cloud Native 安全 持续交付
探索云原生架构的未来:企业数字化转型的加速器
【4月更文挑战第28天】 随着企业加速其数字化转型的步伐,云原生架构作为一种创新的技术模式,正日益成为推动这一进程的关键因素。本文将深入探讨云原生技术的核心组件、实施策略以及面临的挑战,旨在为企业提供一个关于如何利用云原生架构促进业务敏捷性、可扩展性和创新能力的参考框架。通过分析最新的行业趋势和案例研究,我们将揭示云原生如何塑造企业应用开发的未来,并带来持续的业务价值。