前言
大家好,我是ChinaManor,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
以上是实时技术篇的思维导图 ~
接下来几篇
manor将更新正在阅读的《阿里巴巴大数据实践》的第五章实时技术
1 简介
相对于离线批处理技术,流式实时处理技术作为一个非常重要的技
术补充,在阿里巴巴集团内被广泛使用。在大数据业界中,流计算技术
的研究是近年来非常热门的课题。
业务诉求是希望能在第一时间拿到经过加工后的数据,以便实时监控当前业务状态并做出运营决策,引导业务往好的方向发展。比如网站上一个访问量很高的广告位,需要实时监控广告位的引流效果,如果转化率非常低的话,运营人员就需要及时更换为其 广告 以避免流量资源的浪费。在这个例子中,就需要实时统计广告位的曝光和点击等指标作为运营决策的参考。
按照数据的延迟情况,数据时效性一般分为三种(离线、准实时、实时)
离线和准实时都可以在批处理系统中实现(比如 HadoopMax Compute Spark 等系统),只是调度周期不一样而己,而实时数据则需要在流式处理系统中完成。简单来说,流式数据处理技术是指业务系统每产生一条数据,就会立刻被采集并实时发送到流式任务中进行处理,不需要定时调度任务来处理数据。
整体来看 ,流式数据处理一般具有以下特征。
时效性高 常驻任务 性能要求高 应用局限性
1.时效性高
数据实时采集、实时处理,延时粒度在秒级甚至毫秒级,业务方能 够在第一时间拿到经过加工处理后的数据。 2.常驻任务
区别于离线任务的周期调度,流式任务属于常驻进程任务, 一旦启 动后就会一直运行,直到人为地终止,因此计算成本会相对比较高。这 一特点也预示着流式任务的数据源是无界的,而离线任务的数据源是有 界的。这也是实时处理和离线处理最主要的差别,这个特性会导致实时 任务在数据处理上有一定的局限性。 3. 性能要求高
实时计算对数据处理的性能要求非常严格,如果处理吞吐量眼不 采集吞吐量,计算出来的数据就失去了实时的特性。比如实时任务 钟只能处理 30 秒采集的数据,那么产出的数据的延时会越来越长,不 能代表当前时刻的业务状态,有可能导致业务方做出错误的运营决策 在互联网行业中,需要处理的数据是海量的,如何在数据量快速膨胀的 情况下也能保持高吞吐量和低延时,是当前面临的重要挑战。因此,实时处理的性能优化占了任务开发的很大一部分工作。 4. 应用局限性 实时数据处理不能替代离线处理,除了计算成本较大这个因素外, 对于业务逻辑复杂的场景(比如双流关联或者需要数据回滚的情况), 其局限性导致支持不足。另外,由于数据源是流式的 在数据具有上下 文关系的情况下,数据到达时间的不确定性导致实时处理眼离线处理得 出来的结果会有一定的差异。
总结
以上便是阿里巴巴大数据实践|实时技术篇(一) 下一篇讲阿里巴巴的流式数据架构
愿你读过之后有自己的收获,如果有收获不妨一键三连,我们下篇再见👋·