乐趣区

关于前端:揭秘双11丝滑般剁手之路背后的网络监控技术

简介: 本篇将重点介绍 Hologres 在阿里巴巴网络监控部门胜利替换 Druid 的最佳实际,并助力双 11 实时网络监控大盘毫秒级响应。

概要:刚刚完结的 2020 天猫双 11 中,MaxCompute 交互式剖析(下称 Hologres)+ 实时计算 Flink 搭建的云原生实时数仓首次在外围数据场景落地,为大数据平台创下一项新纪录。借此之际,咱们将陆续推出云原生实时数仓双 11 实战系列内容,本篇将重点介绍 Hologres 在阿里巴巴网络监控部门胜利替换 Druid 的最佳实际,并助力双 11 实时网络监控大盘毫秒级响应。

3…
2…
1…
00:00:00。购物车,结算,提交订单,付款
00:01:00…。滴,您的支付宝生产 xxx 万元。
亿万人同时参加的千亿级我的项目,破记录的峰值 58 万笔 / 秒,剁手党们在整个交易过程中如丝般顺滑,如同加入了一个假的双 11,而这所有的背地都离不开阿里巴巴网络能力的弱小反对。随着技术的倒退,尤其是近年来云和电商业务的愈发昌盛,根底网络也变得越来越宏大和简单,如何保障这张收缩网络的稳定性,提供云上用户畅通无阻的购物体验,对网络系统建设者和运维者说更是极大的考验。
实践上来说,故障不可避免,然而如果可能做到疾速发现,定位,修复甚至预防故障,缩短故障时长,即可让用户轻微或无感是稳定性谋求的终极目标。2015 年的微软提出了 pingmesh,成为业界事实的解决方案,然而因为天生的某些缺点性,导致故障发现工夫过长。阿里巴巴网络研发事业部从 2017 年就开始研发站在世界前沿的探测系统 AliPing,AliPing 实时零碎的呈现将阿里故障发现带入了秒级响应,数据采集到解决到大盘出现最快时间延迟在数秒之间,告警 + 故障定位分钟级,7*24 全天候监控着整个阿里的网络情况。
AliPling 的外围架构图如下:

在整个零碎中,监控大盘作为故障发现的外围元素,承当着实时出现网络情况的重任,每一条曲线的起起伏伏,就有可能代表用户的业务在受损,如何疾速实时展现网络状态,并预警 / 发现网络故障,帮忙用户迅速止血,这对于监控团队的监控大盘也是重大的考验。对于监控人员应用的监控大盘来说,艰难有多个:
1)数据时效性要求高 :须要实时的将解决完的结构化数据(告警,监控)7*24 小时的出现在使用者(GOC, 各个或者监控人员背后,以便及时地发现解决全阿里 + 蚂蚁的网络故障。
2) 数据源简单:网络数据源泛滥,业务场景泛滥,有一分钟数百 G 的流量监控数据,也有一分钟几十 K 的 IDC 网络数据,如何将这些不同品种,不同数据量的业务数据,纳入监控体系发现异常,对整体端到端监控大盘来说也是一种考验。
3)数据指标维度多:对于监控人员来说,须要监控的数据指标维度特地多,能够看作是一个简单的 OLAP 查问零碎,如何依据本身业务场景从大盘中实时查问所需的业务数据,这对于解决后端数据的 OLAP 框架也是一个重大挑战。

技术选型

对于监控大盘来说,用户的组合查问条件具备不可预知性,其结构化数据没有方法提前算好,只通过 OLAP(联机剖析解决)技术,实时对根底数据分析组合,并将后果出现给用户。Aliping 大盘理论就是 OLAP 技术体现,将不同维度的故障数据(机房、区域、DSW、ASW、PSW、部门、利用等等)通过大盘模式展示在用户背后。

2017 年在 AliPing 系统实施的时候,咱们比照了多项 OLAP 数据库,其中抉择比拟有代表性的进行了比照:
1)HIVE
底层基于 HDFS 存储,将 SQL 语句合成为 MapReduce 工作进行查问。其长处是学习成本低,能够通过类 SQL 语句疾速实现简略的 MapReduce 统计,不用开发专门的 MapReduce 利用,非常适宜数据仓库的统计分析。然而因为底层是 HDFS 分布式文件系统的限制性,不能进行常见的 CUD(对表记录操作)操作,同时 Hive 须要从已有的数据库或日志进行同步最终入到 HDFS 文件系统中,以后要做到增量实时同步都相当艰难。最重要的是:查问速度慢,无奈满足监控大盘秒级相应需要。
2)Kylin
传统 OLAP 依据数据存储形式的不同分为 ROLAP(relational olap)以及 MOLAP(multi-dimension olap)。ROLAP 以关系模型的形式存储用作多为剖析用的数据,长处在于存储体积小,查问形式灵便,然而毛病也不言而喻,每次查问都须要对数据进行聚合计算,为了改善短板,ROLAP 应用了列存、并行查问、查问优化、位图索引等技术。Kylin 中数据立方的思维就是以空间换工夫,通过定义一系列的纬度,对每个纬度的组合进行事后计算并存储。有 N 个纬度,就会有 2 的 N 次种组合。所以最好管制好纬度的数量,因为存储量会随着纬度的减少爆炸式的增长,产生灾难性结果。这个对于宏大的网络数据和不可确定性维度组合,是不能够承受的。

3)ClickHouse
这个是由俄罗斯 yandex 公司开发的,专门为在线数据分析而设计。依据官网提供的文档来看,ClickHouse 日解决记录数 ” 十亿级 ”(没测过)。其机制采纳列式存储,数据压缩,反对分片,反对索引,并且会将一个计算工作拆分散布在不同分片上并行执行,计算实现后会将后果汇总,反对 SQL 和联表查问然而反对不够好,反对实时更新,主动多正本同步。总体来说,ClickHouse 还算不错,然而因为不够成熟,官网反对度不够,bug 也多多,最重要的是团体内也没看到人用,只能放弃

4)Druid
是一种能对历史和实时数据提供亚秒级别的查问的数据存储系统。Druid 反对低延时的数据摄取,灵便的数据摸索剖析,高性能的数据聚合,简便的程度扩大。实用于数据量大,可扩大能力要求高的剖析型查问零碎。其机制将热点和实时数据存储在实时节点(Realtime Node)内存中,将历史数据存储在历史节点(history node)的硬盘中,实时 + 伪实时的构造,保障查问根本都在毫秒级。高速摄入,疾速查问正是满足了咱们的需要,同时还有通用计算引擎团队的无力反对,在晚期咱们抉择了 druid 作为了咱们监控大盘的 OLAP 支持系统。

新 OLAP 网络监控零碎

随着业务的复杂化,业务进一步增多,Druid 应用过程中也暴露出一系列问题:
1)数据量摄入的瓶颈,团体上云,流量的引入,使咱们数据量激增,数据写入呈现了数次大故障
2)因为业务复杂多变,咱们须要减少维度数据,Druid 减少相对来说过程比较复杂
3)Druid 的查问形式不敌对,有一套本人的查询语言,对于 SQL 反对太差,节约大量工夫学习
4)不反对高并发,对于大促来说几乎是劫难。有两年双十一,咱们只能上线踢用户保障监控大盘可用。

随着暴露出的问题越来越多,咱们也在寻找一款既能代替 Druid 解决以后问题,又能满足实时 OLAP 多维分析场景需要的产品。
也是在团体内其余部门积淀的最佳实际中晓得 Hologres,并且理解到 Hologres 反对行存模式下的高并发点查和列存模式下的实时 OLAP 多维分析,感觉这一点很贴合咱们网络监控零碎的要求,于是就抱着试试的心态先去测试体验 Hologres。通过全链路的测试和大量的场景数据验证,能满足咱们场景需要,于是就决定上线 Hologres 至正式生产中。

革新后的新 OLAP 监控零碎如下图所示,整体的数据流程大抵如下:

  • Kafka 实时采集网络相干的监控指标数据,并写入 Flink 中轻度汇总加工
  • Flink 将初步加工实现的根底粒度的实时数据实时写入 Hologres 中,由 Hologres 提供对立的存储
  • Hologres 间接实时对接监控大屏,大屏实时展现多种监控指标的变动状况,不合乎预期的数据实时报警,相应的业务人员立刻排查问题并解决。

业务价值

往年也是 Hologres 第一年参加 AIS 网络故障监控的双 11 作战,作为新秀交出了令咱们比较满意的答卷。整体来说对于业务的价值次要体现如下:

1)TB 级数据毫秒级响应
对于实时监控来说,工夫就是生命线,越快发现故障就能越快止血,如何依据用户输出的简单组合条件,在 TB 级数据中,仅仅以秒级甚至是毫秒级的响应筛选出符合要求的数据(OLAP),这对很多零碎来说都是很大的挑战,而实战证实,正当的利用 Hologres 索引性能,并通过资源的正当调配等,在 OLAP 实时性上完满的满足了监控业务的须要。

2)反对高并发
双 11 的监控大屏往往须要查问查问历史数据,并依据历史数据做报警预测,以往的零碎最多只能撑持不到数十用户的查问(数 10 天数据),而 Hologres 能撑持数百用户的大规模并行查问并且仍旧没有达到下限,在往年双 11 的 0 点时,面对数百倍的平时数据量冲击,监控曲线仍旧平滑如旧,毫无滞涩之感

3)写入性能高
对于之前数十万 / 秒,数百万 / 秒的写入能力,Druid 的体现不是很好容易呈现涌塞景象,而 Hologres 能够轻松做到,这也就轻松解决了咱们的实时写入瓶颈问题。

4)学习成本低
Hologres 兼容 Postgres,全 SQL 反对,十分不便新用户上手,无需再破费工夫和精力去钻研语法。同时 Hologres 对于 BI 工具的兼容性很好,无需做革新就能对接监控大屏,节约大量工夫。

对每一个天猫双 11 剁手人来说,每一次的丝滑般购物体验都离不开阿里网络能力的撑持,而监控大盘就是阿里网络情况的眼睛。Hologres 作为大盘的外围环节,给大盘继续赋能。然而,作为一个新生儿,HOLO 依然有一些不太成熟的中央,在通明降级、稳定性等环节上依存在晋升空间。咱们也违心同 Hologres 一起成长,期待明年双 11 Hologres 更优良的体现。

作者简介:唐傥,附属网络研发事业部网络,现从事网络稳定性开发钻研工作,前北邮研究生导师,领有数个网络和算法相干专利。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版