下图为阿里云流计算全流程系统架构,主要包含:数据采集,流数据,流计算,数据源,数据消费这些过程。
- 数据采集
用户可以使用流式数据采集工具将数据流式且实时地采集并传输到大数据Pub/Sub系统,该系统将为下游流计算提供源源不断的事件源去触发流式计算作业的运行。
阿里云大数据生态中提供了诸多针对不同场景领域的流式数据Pub/Sub系统,以方便用户可以集成各类流式数据存储系统。
- 流数据
流数据作为流计算的触发源驱动流计算运行。
一个流计算作业必须至少使用一个流数据作为数据源头。
流数据的承载方式包括:DataHub,LogService,IOTHub,DTS,MQ等。其中针对XX的业务场景,DataHub流数据处理平台作为数据源头比较适合,但是数据写入DataHub私有云提供方目前无自动化的采集工具可以使用,需要开发力量额外编写Java代码进行写入。
- 流式计算
流式计算可将源头流数据实时计算处理。
阿里云流计算支持针对多条数据流使用BlinkSQL进行关联操作。
流式计算大部分计算逻辑均在StreamCompute流计算平台内编写统计、计算SQL完成,再之后以运维任务的方式启动并长期在线运行。
- 结果数据集成至数据源
为尽可能减少数据处理时延,同时减少数据链路复杂度。
阿里云流计算将计算的结果数据可不经其他过程直接写入目的数据存储,从而最大程度降低全链路数据时延,保证数据加工的新鲜度。
阿里云流计算集成了OLTP(RDS产品线等)、NoSQL(OTS等)、OLAP(ADS等)、MessageQueue(DataHub、ONS等)、MassiveStorage(OSS、MaxCompute等)。
之前的测试中,我们使用ADS分析型数据库作为结果计算数据的存储。
- 数据消费
流式计算的结果数据进入各类数据存储后,用户可以使用各类个性化的应用消费结果数据,也可以将计算结果用于数据展示系统。