Flink Forward Asia参会总结

2019-12-01  本文已影响0人  MisterCH

有幸参加了此次Flink Forward Asia大会,聆听了很多公司在Flink上的实践。对流计算的建设步调有所感受。以下记录我参会的感悟以及对部分精彩的讲座的摘要。

1. 流计算平台建设

各公司随着各自的步调,在流计算平台的发展上快慢有所不同,但flink已经成为了业界主流,各互联网公司都有基于flink的流计算处理平台。目前来看国内发展最快的是阿里巴巴,其不仅仅成功将自己改造的Blink合并入Flink主版本,这次也开源了Alink算法平台,可以实现基于Flink的实时机器学习。在Flink Forward 2019大会上,阿里云智能总裁张建锋表示:“大量业务从批处理转变为流处理,实时化是数据处理的真正未来。”

其他各家公司基本处于通过使用Flink实现自身业务的阶段,和阿里相比,对Flink仍然处于实践和使用阶段。部分公司也基于Flink进行了二次开发,形成了自己的分支。主要解决的问题或未来想解决的问题集中在Task调度优化,SQL扩展等,Flink Docker化,任务调度的智能诊断的等方面。可期待未来Flink社区由于各公司的贡献在这些方面上得到进一步加强。

在使用场景方面,Flink在实时计算,监控等方面都有出色的应用,如:

在基于Flink的流计算平台建设方面,各家公司的路线基本一致,基本都经历了从试用、迁移(从spark,storm等)、平台建设、封装的技术路线。最终暴露给用户提供最简单的使用方式。

2. Flink在人工智能方面的使用

在本次大会中,有部分公司分享了其在人工智能领域使用Flink的案例。印象最深的还是携程的Flink+tensorflow实现对业务指标的监控,以降低告警的误报和漏报率。
相关的文章其实早在6月底就已经出现了(如何基于 Flink 与 TensorFlow 构建实时智能异常检测平台?),本次大会上分享了建设的细节。这里借用一下QCon的图片:

Prophet平台架构
Prophet操作流程

一个用户想要配置智能告警只需要做两件事,首先在我们的平台上配置智能告警,由于我们大部分对接的是监控平台,所以用户大多是在各个监控平台上配置智能告警,然后监控平台调用我们的服务注册监控指标。然后用户需要按照我们定义好的格式将原始数据发送到我们的 Kafka 消息队列,这一步在对接平台时,也由平台做了,所以直接在我们平台上配置监控指标的用户很少。当一个用户注册好监控指标后,我们平台会先检测该指标的历史数据是否足够,如果足够则触发模型训练的流程,训练好的模型会上传到 HDFS。如果历史数据不足,Prophet 会持续实时存储用户指标的数据,当满足数据量的需求时,重新触发模型训练。当模型训练完成后,我们会更新配置中心,告知 Flink 作业有新的或更新的指标模型已经就位。
实时这块的流程是 Flink 启动或运行中一旦监听到有新的或更新的模型,作业会重新加载模型。另外 Flink 会实时从 Kafka 中消费数据,实时的过模型做异常检测,最终将异常告警回吐到 Kafka,各个平台消费自己的异常告警数据并给相关的负责人发送告警通知。

基于该平台,实现了故障覆盖率95%、报警准确率75%、告警延迟ms、告警数量降低10倍的效果。

3. 建设建议

基于flink的流计算平台已经成为了业界主流大数据实时处理平台,并基于流平台衍生出了一系列的用法。建议在公司内部启动Flink的调研和学习,为后续我司大数据平台的建设打下基础。当然,也需要进行配套设备的建设和研究,如消息中间件(Kafka、Pulsar、RocketMQ),YARN,时序数据库等等。可考虑与母公司合作。

目前可考虑发展并有一定需求的领域有,可考虑与算法团队合作进行Flink的调研和需求探讨:

  1. 基于流计算与人工智能的实时推荐
  2. 基于流计算与人工智能的监控
  3. 基于流计算和日志收集的日志检索和监控平台
  4. 将基于Spark的业务迁移至Flink,实现实时的模型训练
  5. 数据仓库建设……

在对Flink有一定了解后,可考虑平台化封装,可借鉴各互联网公司的建设思路,底层使用YARN,并对外封装SQL编写平台。

上一篇下一篇

猜你喜欢

热点阅读