首页 热点 医药快讯 学术前沿 医药新闻 常见用药 医疗产经 科研进展 社会关注 手机版

中台有数,保障有谱--大数据技术支撑苏宁818

来源: 发布时间:2020-08-18 16:06:40
 1. 背景

  今年的818大促跟往年不太一样,在苏宁成立30周年之际,苏宁易购提出了“专注好服务”的全新品牌主张,在带来巨大流量的同时,也给我们中台系统的保障工作带来了更大的挑战。如何在818的大促过程中,更快的,更有效率,更智能的全面做好稳定性保障工作,是我们亟需解决的难题。

  2. 大促保障的痛点

  大促是考验电商后台系统能力的试金场,面对着成千上万的消费者抢购流量,系统压力瞬间增大,为了避免系统被流量冲垮,电商系统经历了从满足日常业务的系统设计模式到满足高并发的系统架构模式的转变,系统架构越来越复杂。大促过程中如何保障系统稳定、快速获取流量峰值和热点、快速获取和汇总相关业务数据便成了大促过程中新的痛点问题。

  交易中台基于以上痛点,结合大数据技术,通过数据的挖掘和应用来保障818大促的稳定。

  3. 数据组件支撑大促保障

  3.1. TPS采集组件

  目前RSF平台(苏宁自研微服务框架)只有分钟级的调用量统计,无法精准统计到秒,且平台原始日志数据也为采样打印,无法直接使用。无论从容量规划角度,还是从实时监控,流控等角度去考虑,秒级监控需求都极为迫切。

  基于以上情况,中台自研了TPS采集组件,截止目前已经接入近30个系统、200多个核心服务,通过统一的展示门户,接入服务的实时、历史调用量一览无余。大大提升了压测、大促时链路分析的效率及准确性。这些核心服务的数据落地,为性能分析、容量规划及储备,提供了最基础的不可缺少的原材料。也让业务系统能直观的看到自己系统的核心服务的压力。

  方案:

  1:利用SpringAOP织入切面,业务系统接入只需添加注解并配置SCM开关。每个jvm统计各自服务每秒的调用量并记录日志。

  2:flume实时采集日志。

  3:flink汇总每个服务单机房以及多机房的秒级调用量。

  4:服务秒级调用量汇总入库。

  5:门户实时展示调用量数据。

  3.2. 流控组件

  流控一直都是系统最重要的保障手段之一。流控从技术实现上分为两种。一种为并发流控,这种流控主要基于并发考虑,公司的RSF框架流控基于此原理,但是缺点也比较大。一般系统服务能力或者筹备目标都是用TPS去衡量,而从TPS很难精准的换算出单JVM能支撑的并发量。而另一种流控是通过控制QPS来拒绝流量,最终保护系统。也是我们弥补目前流控能力不足的方式。

  因此,中台自研了流控组件,目前中台130多个核心接口已经全部接入。每个核心接口按照其使用的场景及需求接入了不同种类的流控组件。在接入流控之后,极大的降低了整个大促监控团队的运维压力,某种意义上实现了对服务的无人值守。

  3.2.1. 分布式流控

  分布式流控主要是针对每个JVM设定流控阈值,进行单JVM流量控制。因此需要计算整体的服务能力,然后除以应用数量,计算流控阈值。他的优点主要是完全基于JVM,损耗极小,几乎可以忽略不计。

  方案:

  1:控制平台将流控阈值下发到每个JVM。

  2:对每次请求进行秒级调用量汇总,判断是否超过阈值。

  3:如果超过阈值则将超过阈值的请求流控,并打印流控日志。

  4:flume采集流控日志。

  5:flink汇总单机房以及多机房流控值。

  6:门户展示流控数据。

  3.2.2. 分布式冷热桶流控

  主要用来防止爆款抢购,系统秒杀等热品流量堵到正常系统的请求。如果直接使用普通流控进行拦截,会造成普通商品购买被拒绝。因此对于这种场景,在之前的流控组件的基础上增加冷热桶,系统自动识别热品,同时冷热流控阈值分离。

  方案:

  1:控制平台将流控阈值下发到每个JVM。

  2:对每次请求进行冷热区分(自动判断、固定值判断)。

  3:对冷热请求按秒级维度进行汇总,并按冷、热两个阈值进行判断。

  4:如果超过阈值则将超过阈值的流控,并打印流控日志。

  5:flume采集流控日志。

  6:flink汇总单机房以及多机房流控数量并入库。

  7:门户展示流控数据。

  3.2.3. 全局流控

  全局流控主要是针对流控要求比较精细的场景,希望能做到精准控制。例如提交订单场景。整体思路是设置全局流控阈值(可放入Redis中),由JVM进行阈值步长拉取,后在JVM中去扣减流控步长以达到流控目的。

  方案:

  1:控制平台将流控阈值及步长下发到每个JVM。

  2:请求前判断本jvm是否有配额,有则扣减本地配额,没有则从公共配额拉取(值为步长)。

  3:如果公共配额用净,则将多余流量流控并打印日志。

  4:flume采集流控日志。

  5:flink汇总单机房以及多机房流控量并入库。

  6:门户展示流控数据。

  3.2.4. 流控比对

  对比可知,分布式流控,全局流控,冷热分离各有优缺点。不同的业务场景,可以选择不同的实现方案。在此基础上流控的下一步方案是升级到动态流控,可以动态实现分布式,全局流控的自由切换,实现全局流控,冷热分离阈值的动态调整和生效。而这块重点应该是如何根据上报的健康数据分析并实现动调整当前流控方式或者配额值。

  4. 中台数据云支撑大促保障

  除了组件提升,大数据和AI能力也逐步成为大促保障的重要利器。交易中台通过采集平台,清洗平台,中台数据云平台的三层建设,一方面提供统一的数据指标服务,更重要的是提供了基于OLAP的业务指标服务,多维度查询服务,归档服务等。同时也给大促筹备带来了新的突破。

  4.1. 大促云车加车分析

  购物车是交易链路的关键系统,大促交易峰值来源于购物车的订单提交,因此加车数据的分析对于大促保障至关重要。

  利用中台采集平台实时(binlog)采集购物车加车数据,将业务数据实时汇聚到中台清洗平台,对丰富的多切片(分库分表)数据进行清洗和融合,刻画背后的业务画像,使用智能算法分析4亿+加车数据以及7万+促销活动,为购物车、促销系统提供818大促TOP100热点加车商品和TOP10热门促销活动数据,使系统可以提前对热点商品和热门活动进行缓存预热,降低大促风险。

  因加购数量越多代表商品越受欢迎,大促时对加购数量多的商品进行精准的营促销干预,会起到更好的效果,有效的提高购物车的转化率。

  4.2. 大促多平台智能分货

  苏宁目前除自营体系的易购平台、O2O小店平台、线下门店等渠道外,也在加快第三方平台入驻的步伐,目前已在天猫、抖音、达令家、美团、饿了吗等外部各类平台进行销售活动,因此库存中心对于各平台货物的调配也越来越重要与复杂,分货的方式、调度策略、补货频次各不相同。如何提升分货的准确性便成了大促期间备货方案的重中之重。

  中台数据云智能分货涉及15个大类,几十万商品,极大降低了各平台的大促商品缺货率,提升了818销售。

  方案:

  1:依托数据云平台、AI机器学习平台,通过历史销量、促销活动、库存深度等数据进行各平台销量预测。

  2:库存中心依托分货规则引擎,根据销售预测进行各平台库存分货,并根据分货结果推送各平台。

  3:库存中心实时扫描销售情况和三方库存状态进行库存动态调整,并搭建异常监控体系,联动业务,指导运营。

  智能分货模型的核心是销售预测,结合业务特点,销售预测分为三个阶段,通过发挥销售预测算法三个阶段的不同的优势,实现销售预测准确度的最大化。

  1) 时间序列:探查分货相关历史特征数据的稳定性和线性规律。

  2) 机器学习:支持分货多平台多场景的业务,在多变量的情况下提升销售预测质量。

  3) 深度学习:构建更复杂的分货模式对应的销售预测模型,自动学习分货相关的特征实现预测的全面升级。

  4.3. 压测和大促流量模型

  每次大促活动筹备,有这两件事情重要的事项:首先会进行基于业务筹备目标的流量预算,以进行系统的容量评估,确定系统是否扩容;其次是制定压测策略、执行压力测试、输出压力测试报告,确认每个系统是否达到筹备的目标值。

  中台三十多个系统,系统服务众多,大促容量评估很难准确,依据历史数据,梳理中台核心业务线,构建7个核心流量模型,快速评估出818大促的服务筹备目标后,合理进行容量规划,通过多轮全链路压测进行验证。

  方案:

  1:根据业务关键服务梳理出从上至下的调用关系链。

  2:使用大数据采集各系统服务TPS数据,建立核心服务流量模型。

  3:通过活动分析以及历史流量模型依托机器学习算法进行流量预测, 为818大促系统容量评估,压测以及流控提供了有效的依据。

  4.4. 大促系统健康巡检

  目前各监控平台都只是在系统发生风险的时候进行预警,无法做到提前识别。因此每一次大促保障,都需要进行多轮的系统监控检查,包含缓存使用率,命中率,磁盘使用率,IO,Topsql等各项体检。每项检查涉及几千台机器,人工检查耗时耗力。通过对ZABBIX,DBMS等系统提供的服务或离线数据采集,中台数据云平台自动出具检查分析报告,极大的节省了人力,从之前人工检查花费一周变成系统自动巡检只需一天。

  方案:

  1:结合组件能力,系统巡检可以由TPS流量异动,流控告警和手工触发三种方式发起。对于系统自动触发的通过规则引擎判断是否需要进行巡检。

  2:巡检发起后分别联动异常监管系统,资源管理系统,数据库管理系统和微服务管理系统多个异常监控平台,通过服务,数据同步等方式获取系统健康数据。

  3:进行风险评,出具巡检报告。如果存在异常,结合AI图谱识别,根因分析后出具报告。

  5. 未来-智能诊断

  无论多么资深的技术人员,绝大部分情况下都无法在1分钟内识别系统异常产生的根本原因。然而在大促这种特殊的场景下,线上发生的任何问题都需要即刻定位和处理, 因此我们未来规划了系统智能诊断模型。当系统发生异常后触发第一层主机层诊断,联合云计算研发中心,通过知识图谱构建根因分析。第一层诊断完成后,进行持久层根因诊断,判断数据库是否存在异常,最后进行业务层根因检测。通过三层智能诊断快速定位系统异常的根本原因。

  大促保障是一项极其复杂的系统化工程,每次大促对系统而言都是一次全方位的考验。面对越来越复杂的系统和更加多样化的营促销活动,中台大促保障以技术为本,总结每次大促经验,持续建设常态化的筹备机制和立体化的监控工具,推进保障工作逐步向更加体系化,精细化和智能化的方向发展,最终保障系统的平稳运行,保证用户顺畅的购物体验。

责任编辑:FG003


 

网站首页 | 关于我们 | 免责声明 | 联系我们
 

用药安全网 所有文章、评论、信息、数据仅代表作者观点,使用前请核实,风险自负。
 

Copyright 2013-2017 用药安全网 All Rights Reserved  版权所有
 

联系网站:4352 0349 @qq.com  违法信息举报邮箱:jubao@123777.net.cn