阿里新一代实时计算引擎:Blink
实时计算这个概念是与离线计算相伴相生的,以 Hadoop为例, Hadoop 批处理 job 的执行时间往往需要几十分钟到几个小时(不同的数据量),所以一般数据的处理是按照时间区间处理的,这叫离线计算,但是,从业务场景上来说,离线计算不能满足所有业务的需求。
流计算的产生即来源于对于上述数据加工时效性的严苛需求:数据的业务价值随着时间的流失而迅速降低,因此在数据发生后必须尽快对其进行计算和处理。在许多的业务场景上,比如在实时大数据分析、风控预警、实时预测、金融交易等诸多业务场景领域,以银行的交易系统为例,可靠性要达到 4个 9,甚至 5个 9的地步,而流计算作为一类针对流数据的实时计算模型,可有效地缩短全链路数据流时延、实时化计算逻辑、平摊计算成本,最终有效满足实时处理大数据的业务需求。
2015 年是流计算百花齐放的时代,各个流计算框架层出不穷。Storm, JStorm, Heron, Flink, Spark Streaming, Google Dataflow (后来的 Beam) 等等。其中 Flink 的一致性语义和最接近 Dataflow 模型的开源实现,使其成为流计算框架中最耀眼的一颗。也许这也是阿里看中 Flink的原因,并决心投入重金去研究基于 Flink的 Blink框架。
如果问是基于什么具体的原因使得阿里选择了 Flink框架,阿里巴巴的高级技术专家大沙曾言,他们是在 2015年开始调研新一代流计算引擎的,当时的目标就是要设计一款低延迟、exactly once、流和批统一的,能够支撑足够大体量的复杂计算的引擎。
Spark streaming的本质还是一款基于 microbatch计算的引擎。这种引擎一个天生的缺点就是每个 microbatch的调度开销比较大。Kafka streaming是从一个日志系统做起来的,它的设计目标是足够轻量,足够简洁易用。这一点很难满足对大体量的复杂计算的需求。Storm是一个没有批处理能力的数据流处理器,除此之外 Storm只提供了非常底层的 API,用户需要自己实现很多复杂的逻辑。
有别于 FLink,Blink主要在以下几个方面做了改进:
优化了集群调度策略使得 Blink能够更好更合理地利用集群资源;
优化了 checkpoint机制,使得 Blink能够很高效地处理拥有很大状态的 job;
优化了 failover的策略,使得 job在异常的时候能够更快恢复,从而对业务延迟造成更少的影响;
设计了异步算子,使得 Blink能够在即使被读取外部数据阻塞的同时还能继续处理其他 event,从而获得整体非常高的吞吐率。
以前,MySQL+Linux+PHP可以免费的构建一个小型的网站,也许不久,类似 Flume + Kafka + Blink,也会成为实时流计算一套完整的解决方案。实时计算必然是未来的主流趋势。
如果你也对实时计算感兴趣,请关注 2018年 4月 23日到 24日,我们在北京国际会议中心举办的 QCon深度培训。在会上,阿里巴巴的高级技术专家王绍翾和邓小勇将为大家带来 阿里巴巴 Blink流计算平台介绍与实践,详细的介绍 Blink的前世今生,现在报名立享 8折优惠,点击“阅读原文”即可了解更多详情。或添加 chenxi988625咨询。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 1 总书记那些两会“妙喻” 7986109
- 2 华为离职“天才少年”官宣刷屏 7918823
- 3 《哪吒2》超《复联3》成全球票房第6 7820318
- 4 快来查收你的2025民生礼包 7763977
- 5 韩国人大量买入中国股票 7614606
- 6 俄军宣布全线大规模进攻 7585589
- 7 男子给狗做敖闰造型秒变“气质龙” 7445695
- 8 AI回答存多少钱才可以潇洒退休 7350062
- 9 老板送菜后得知食客刚救了自己儿子 7268206
- 10 住建部部长:坚决稳住楼市 7155917