实时流计算系统设计与实现
上QQ阅读APP看书,第一时间看更新

1.2 实时流计算使用场景

话说有一句至理名言:“天下武功,无坚不摧,唯快不破!”由此足可见“快”的重要性。更快、更完整地获取数据,更快、更充分地挖掘出数据价值,已成为大数据时代各行各业的共识。在线系统监控、移动数据和物联网、金融风控、推荐系统等,虽然行业各不相同,但是它们有个共同点——实时流计算技术在这些领域发挥着越来越重要的作用。

1.在线系统监控

互联网行业蓬勃发展的背后,是各家企业机房里成千上万的服务器。服务器在7×24小时(传说中的007工作制)的作业过程中产生大量监控数据。这些数据包含着服务器本身的健康状况,如硬件状态、资源使用情况和负载压力等。第一时间知道服务器的健康状况是非常重要的,可以避免因为一台服务器宕机而后续造成的各种雪崩效应。除了服务器本身以外,复杂的线上业务系统产生着更多的数据。如今一个每天亿万级别访问量的系统已经司空见惯,产品花样更是层出不穷。业务系统产生日志的数量级由GB变TB,再由TB变PB。将线上日志导入实时流计算系统,我们可以实现一系列有实时价值的功能。最基本的功能是监控业务是否运营正常,如监控业务关键指标、发现故障模式等。高级些的功能是最大程度优化业务使用服务器的成本,如根据CPU、内存和I/O等资源的使用率动态扩展或缩减业务使用的服务器数量。更高级的功能是挖掘和探索新的业务模式,如CEP(Complex Event Processing,复杂事件处理)和在线统计学习或机器学习模型的各种运用等。通过实时流计算技术,实时展现业务系统的健康状况,提前避免可能的业务故障,最大程度优化业务使用服务器的成本,抢先发现新的业务模式和商机……这些都是实时流计算技术在在线系统监控领域价值的体现。

2.移动数据和物联网

移动终端、智能交通、共享单车、5G、工业4.0……如今在我们生活的时代,一波又一波的新名词层出不穷。“移动”和“物联”让数据变得随时随地可得。数据越来越多,单位数据自身的价值却越来越小。实时处理海量数据洪流,已成为移动和物联网领域的当务之急。例如,对于智能交通系统,传统智能交通系统采用离线方式对交通数据做分析,交通决策不能及时做出;而通过对交通数据流进行实时分析,实时展现交通热点路段、优化信号灯配时、指导行车线路,可实实在在减轻当前热点路段压力、缩减平均行车时间,如图1-2所示。像智能交通这样,优化生活环境,正是实时流计算技术在移动数据和物联网领域体现的价值之一。

图1-2 基于Spar.Streaming的Uber交通热点路段分析及可视化系统图1-2源自https://mapr.com/blog/real-time-analysis-popular-uber-locations-spark-structured-streaming-machine-learningkafka-and-mapr-db,这篇博客详细讲解了使用Kafka、Spark Streaming和机器学习等技术实现Uber交通数据实时分析和展现的方法,感兴趣的读者可自行查阅。

3.金融风控

金融风控是实时流计算技术又一常用领域,如图1-3所示。通常针对贷款的风控,可以分为贷前、贷中和贷后。在贷中和贷后,大多采用离线数据分析和数据可视化技术来实现风险控制。但是在贷前,特别是在许多现金贷产品中,为了给用户带来更好的产品体验,必须在很短的时间内对用户的信用、还款能力和还款意愿等做出评估。除了针对用户本身的信用风险作分析外,还需要防止金融欺诈问题,如“薅羊毛”和多头借贷。通过实时流计算技术,在秒级甚至亚秒级,对用户信用和欺诈风险做出判定,在保证可控风险的同时,提供良好的用户体验,进一步提高现金贷产品整体的竞争力。

图1-3 基于Flink的实时欺诈检测平台图1-3引用自https://www.linkedin.com/pulse/fraud-detection-fi ntech-ecosystem-oluwaseyi-otun,这篇博客描述了使用Flink流计算平台实现实时欺诈检测的方法,对实时风控系统感兴趣的读者可自行查阅。

4.实时推荐

实时推荐是实时流计算技术的另一个常见应用场景。如今手机几乎成为每一个年轻人的必备品。打开手机,听音乐、浏览新闻、阅读小说、看到心仪的东西买买买……有一天你突然发现,手机应用越来越了解自己。它们知道推荐什么样的音乐、新闻、小说和商品,并且推荐的东西大抵还是你所喜欢的。现代推荐系统(见图1-4)背后越来越多地出现了实时流计算技术的影子,通过实时分析从用户手机上收集而来的行为数据,发掘用户的兴趣、偏好,给用户推荐可能感兴趣的内容或商品。或许很多人并不喜欢这种被机器引导的感觉,但是我们还是不可避免地越来越多地被它们所影响。

图1-4 基于Spar.Streaming的实时零售推荐系统图1-4引用自https://www.talend.com/blog/2016/11/01/setting-up-an-apache-spark-powered-recommendation-engine,这篇博客介绍了一种基于Spark Streaming流计算平台的实时零售推荐系统,感兴趣的读者请自行查阅。

这里只是简单地列举了几个流计算技术使用的场景。其实在越来越多的行业,很多传统上用离线批处理技术完成的事情也逐渐转变为采用实时流计算技术完成。所以,读者不妨大胆发挥想象力,试着将实时流计算技术运用到生活的各个方面去,挖掘实时信息的潜在价值,说不定就会获得一份惊喜。