天猫成交额实时数据(2018天猫双十一成交额实时数
天猫成交额实时数据(2018天猫双十一成交额实时数据在哪看)、本站经过数据分析整理出天猫成交额实时数据(2018天猫双十一成交额实时数据在哪看)相关信息,仅供参考!
阿里巴巴资深技术专家莫问在2017年12月20日的云起会议北京峰会上做了题为《先进的阿帕奇Flink技术》的主题演讲。Apache Flink作为流计算引擎,支持“双十一对”实时计算,已经被国内外公司使用。其中“Flink的技术特点”、“阿里巴巴的Flink版本——Blink”和“Blink在实际场景中的应用”的经验是第一次详细的分析,非常有价值。
视频内容组织如下
Apache Flink简介Flink是继Storm之后的第二个纯流量计算引擎,其特点是支持毫秒级延迟和“至少一次”语义保证。目前阿里巴巴的“双十一”支持每秒4亿次计算。
Flink提供不同级别的抽象来开发流/批处理应用程序
底层是有状态分布式流执行引擎。
第二层是核心API,包括数据流/数据集API。数据流API是流的输入,例如队列、日志等。API适合有长度的数据源,比如文件。
第三层提供基于DSL的表格API。这一层将所有数据源抽象成表格,支持类似SQL的开发语言,可以用Java编写。
第四层是高级SQL语言。
Flink和Storm相比有很多特点。Flink的第一个特点是支持有状态计算。Flink内置状态管理,确保高性能计算和数据的一致性。有了状态,Flink可以提供“恰好一次”的语义。如果业务场景可以接受,也可以支持“至少一次”的语义。状态还支持检查点、恢复、升级、版本等等。
Flink的第二个特性是在流中添加一个窗口。因为流逐个处理记录,所以在许多场景中远远不够。因为企业可能需要收集最新的数据进行汇总,并做出全局判断才能得出结论。窗口函数很好地解决了这个问题。Flink支持两种类型的窗口。一种是时间驱动的,比如最近30秒或者每30秒取一次数据。一种是数据驱动,比如1000个或者每1000个。常见的窗口有三种滑动窗口(无重叠)、滚动窗口(有重叠)和对话窗口(基于对话)。
使用indo后,很难保证在源端生成的所有数据的顺序与在分布式系统中接收到的数据的顺序一致,这样会导致混乱。Flink采用标准的乱序处理方案3354水印技术。该技术在源端定期发送水印,以确保之前的数据顺利到达。当水印到达时,触发窗口计算窗口。有了水印和窗口,可以根据时间关系在流量计算中进行更复杂的计算。
在Flink中,使用chandy-lamport算法来确保状态一致性。该算法的核心思想是定期检查流量,并将计算出的状态保存到内存中。当系统崩溃时,它将根据状态从最新的检查点恢复,并到达最终结果。这个过程是在流中插入一个屏障(特殊消息)并在源数据处开始广播。当每个节点收到上游屏障时,会对齐并保持屏障状态,然后继续广播屏障。当流将屏障从源节点广播到一个节点时,检查点和状态持久化就完成了。
同步检查点会阻碍流量计算,所以采用异步检查点,这样也加快了检查点对齐的速度。持久性检查点的增加将减少I/O的使用,因为Storm将确认每个消息。Flink是基于一批消息的检查点,可以保证更好的吞吐量和更好的数据延迟。这也是Flink和Storm最大的区别。
Flink典型的工作场景是处理实时数据。是源kafka队列,它包含所有实时数据流。Flink有三个操作员角色,其中数据流是独立操作的。第一个是Source(负责输入数据,在kafka中记录偏移量并持久化);第二种是中间的运算符一个是operator,一个是做map,一个是根据同一个键聚合生成counter。和offsetcounter将存储在状态中。第三个是sink,负责输出和快照。
阿里巴巴贡献的Flink Blink(阿里巴巴Flink版本)是基于阿里巴巴的量产环境和实际需求,对Flink架构进行了改进,并扩展了更多功能的版本。Blink完全兼容Flink的API,并与开源社区无缝对接。目前,Blink团队已经和Flink社区分享了300多个问题,改进了一些关键架构和SQL。团队培训了5名在社区有良好影响力的flink成员。Blink团队连续两年赞助Flink forard大会,每次都是现场分享。
Blink在Flink的基础上做了五大改造
1.转换Flink部署和流程模型
Flink以前是独立部署架构,流程模型和分布式模型都比较小。Blink team按照分布式进程模型的调度也使其能够继续在Yarn和Mesos上运行,解耦其计算和资源调度,改善了规模有限的Flink单主架构。
2.使用异步I/O模型进行设计。
在流计算的过程中,如果一个流卡住了,整个流计算都会卡住,这是分布式、高并发场景下的一个障碍。通过引入异步I/O模型,所有Flink操作符都可以异步访问外部MySQL。短抖动不会影响整个流的运行,可以大大提高CPU的利用率。
3.完善检查点机制。
因为检查点是Flink最大的特点,所以检查点的性能尤为关键。如果做不好,会影响主流程的处理。虽然数据规模很大,每分钟只有百分之一的数据更新,所以做增量检查点会大大降低成本。
4.故障转移的优化
在大规模场景中,实时计算中会有成千上万个并发作业,一旦发生故障转移,恢复成本将会很高。Blink改进了它。
5.网络层优化
在流式计算中,网络层的性能非常关键。上行链路和下行链路计算都需要网络层洗牌。Blink优化了shuffle的性能,大大提高了网络性能。
阿里巴巴在Flink SQL上也做出了不少贡献,用流SQL取代了传统的bash SQL。
Flink在阿里巴巴的应用
Flink流计算架构支持阿里巴巴几乎所有的场景,包括天猫、淘宝、飞猪、菜鸟、搜索广告、安全等等。
Flink在淘宝的应用案例;
双11天猫成交额实时统计
大家对“双十一”的成交量印象深刻,是实时计算出来的。这个过程包括用户下单、后台发送日志、读取日志、汇总计算、统计输出结果等。要保证它的正确性,一整天都不能有抖动。在这个过程中,峰值运算次数为每秒4亿次,这是Flink目前最大的应用场景。
作为一家数据驱动的公司,需要实时监控所有数据。实时计算平台将处理这些数据,并呈现给运营商和管理层,以便他们根据这些数据做出决策。
淘宝搜索商品实时更新
淘宝会根据用户的搜索进行推荐。搜索引擎和推荐引擎的数据需要实时更新。商品和业务的任何变化都会同步到数据仓库中。根据商家信息、品类信息、促销信息等。并生成索引。将索引生成到推荐引擎或搜索引擎中,然后生成推荐和搜索结果,并显示在用户的搜索页面上。商品、卖家、促销信息、用户行为的任何变化都会影响搜索结果和展示,整个信息流的实时变化是非常大的。
更多关于天猫成交额实时数据(2018天猫双十一成交额实时数据在哪看)的请关注本站。
中国未解之谜
- 神秘的北纬30度:神秘的北纬30度未解之谜
- 世界十大未解之谜 世界十大未解之谜有哪些
- 世界未解之谜有哪些 十大世界未解之谜有哪些
- 十大未解之谜有哪些 最全十大未解之谜真相
- 人类未解之谜:人类未解之谜有哪些
- 世界未解十大未解之谜 世界十大未解之谜有哪些
- 全球十大神秘怪兽 世界十大怪兽未解之谜
- 世界未解之谜大全 世界未解之谜有哪些
- 世界未解之谜事件灵异 世界未解之谜事件灵异视
- 至今未解之谜:至今未解之谜有哪些
- 世界十五个最离奇的未解之谜 世界十五个最离奇
- 秘鲁再添未解之谜 秘鲁再添未解之谜是真的吗
- 世界神秘现象未解之谜 世界神秘现象未解之谜有
- 中国十大事件未公开之谜 中国十大事件未公开之
- 世界十大未解之谜 世界十大未解之谜是哪十个
- 揭开未知之谜:未解之谜探索发现