Flink 基础教程 (4):为何选择 Flink 1.1.3&1.1.4&1.2

阅读数:10 2019 年 11 月 24 日 22:28

Flink基础教程(4):为何选择 Flink 1.1.3&1.1.4&1.2

(电信业)

内容简介
近年来,流处理变得越来越流行。作为高度创新的开源流处理器,Flink 拥有诸多优势,包括容错性、高吞吐、低延迟,以及同时支持流处理和批处理的能力。本书分为 6 章,侧重于介绍 Flink 的核心设计理念、功能和用途,内容涉及事件时间和处理时间、窗口和水印机制、检查点机制、性能测评,以及 Flink 如何实现批处理。
本书面向有兴趣学习如何分析大规模流数据的读者。

电信业是一个特殊的例子,它广泛地应用了基于各种目的而产生的跨地域的事件流数据。如果电信公司不能很好地处理流数据,就不能在某个移动通信基站出现流量高峰前预先将流量分配给其他的基站,也不能在断电时快速做出反应。通过处理流数据来进行异常检测,如检测通话中断或者设备故障,对于电信业来说至关重要。


(银行和金融业)

因为流处理做得不好而给银行以及金融业带来的潜在问题是极其显著的。从事零售业务的银行不希望客户交易被延迟或者因为错误统计而造成账户余额出错。曾有一个说法叫作“银行家工作时间”,指的就是银行需要在下午早早关门进行结算,这样才能保证第二天营业之前算出准确的账。这种批量作业的营业模式早已消失。如今,交易和报表都必须快速且准确地生成;有些新兴的银行甚至提供实时的推送通知,以及随时随地访问手机银行的服务。在全球化经济中,能够提供 24 小时服务变得越来越重要。

那么,如果缺少能够灵敏地实时检测出用户行为异常的应用程序,会对金融机构带来什么后果呢?信用卡欺诈检测需要及时的监控和反馈。对异常登录的检测能发现钓鱼式攻击,从而避免巨大的损失。

在许多情况下,人们希望用低延迟或者实时的流处理来获得数据的高时效性,前提是流处理本身是准确且高效的。


(连续事件处理的目标)

能够以非常低的延迟处理数据,这并不是流处理的唯一优势。人们希望流处理不仅做到低延迟和高吞吐,还可以处理中断。优秀的流处理技术应该能使系统在崩溃之后重新启动,并且产出准确的结果;换句话说,优秀的流处理技术可以容错,而且能保证 exactly-once2

2 对 exactly-once 的解释,详见 5.1 节。——编者注

与此同时,获得这种程度的容错性所采用的技术还需要在没有数据错误的情况下不产生太大的开销。这种技术需要能够基于事件发生的时间(而不是随意地设置处理间隔)来保证按照正确的顺序跟踪事件。对于开发人员而言,不论是写代码还是修正错误,系统都要容易操作和维护。同样重要的是,系统生成的结果需要与事件实际发生的顺序一致,比如能够处理乱序事件流(一个很不幸但无法避免的事实),以及能够准确地替换流数据(在审计或者调试时很有用)。

Flink基础教程(4):为何选择 Flink 1.1.3&1.1.4&1.2

图灵地址 https://www.ituring.com.cn/book/2036

评论

发布