中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

架构

鲲鹏BoostKit大数据支持多个大数据平台,包括离线分析、实时检索、实时流处理等多个场景。

实时流处理,通常是指对实时数据源进行快速分析,迅速触发下一步动作的场景。实时数据对分析处理速度要求极高,数据处理规模巨大,对CPU和内存要求很高,但是通常数据不落地,对存储量要求不高。实时处理,通常通过Storm、Spark Streaming或者Flink任务实现。典型特点:

  • 处理时间要求极高,毫秒级。
  • 处理数据量巨大,每秒数百兆。
  • 占用计算资源多。
  • 容易产生计算资源抢占。
  • 数据格式以各种网络协议格式为主。
  • 任务相对简单。
  • 数据不落地、存储量不大。

数据采集通过分布式消息系统Kafka实时发送到分布式流计算引擎Flink、Storm、Spark Streaming进行数据处理,结果存储在Redis中,为上层业务提供缓存。详细的系统架构如图1所示。

图1 大数据实时流处理场景架构
表1 大数据实时流处理场景各类节点说明

名称

说明

数据源

数据源的种类包括实时流数据(Socket流,OGG日志流、日志文件)、实时文件、数据库等。

实时数据采集系统

  • Flume:Hadoop自带的采集工具,支持多种格式的数据源,包括日志文件、网络数据流等。
  • 第三方采集工具:第三方的专用实时数据采集工具,包括GoldenGate(数据库实时采集)、自开发采集程序(定制化采集工具)等。

消息中间件

消息中间件可对实时数据进行缓存,支持高吞吐量的消息订阅和发布。

Kafka:分布式消息系统,支持消息的生产和发布,以及多种形式的消息缓存,满足高效可靠的消息生产和消费。

分布式流计算引擎

对实时数据进行快速分析。

  • Storm:开源的分布式实时计算引擎。利用Storm可以很容易做到可靠地处理无限的数据流。
  • Flink:新一代流处理引擎,支持毫秒级的流处理分析。

数据缓存

将流处理分析的结果进行缓存,满足流处理应用的访问需求。

Redis:提供高速key/value存储查询能力,用于流处理结果数据的高速缓存。

业务应用

查询并使用实时流处理结果的业务应用,由ISV开发。