架构
鲲鹏BoostKit大数据支持多个大数据平台,包括离线分析、实时检索、实时流处理等多个场景。
实时流处理,通常是指对实时数据源进行快速分析,迅速触发下一步动作的场景。实时数据对分析处理速度要求极高,数据处理规模巨大,对CPU和内存要求很高,但是通常数据不落地,对存储量要求不高。实时处理,通常通过Storm、Spark Streaming或者Flink任务实现。典型特点:
- 处理时间要求极高,毫秒级。
- 处理数据量巨大,每秒数百兆。
- 占用计算资源多。
- 容易产生计算资源抢占。
- 数据格式以各种网络协议格式为主。
- 任务相对简单。
- 数据不落地、存储量不大。
数据采集通过分布式消息系统Kafka实时发送到分布式流计算引擎Flink、Storm、Spark Streaming进行数据处理,结果存储在Redis中,为上层业务提供缓存。详细的系统架构如图1所示。
名称 |
说明 |
---|---|
数据源 |
数据源的种类包括实时流数据(Socket流,OGG日志流、日志文件)、实时文件、数据库等。 |
实时数据采集系统 |
|
消息中间件 |
消息中间件可对实时数据进行缓存,支持高吞吐量的消息订阅和发布。 Kafka:分布式消息系统,支持消息的生产和发布,以及多种形式的消息缓存,满足高效可靠的消息生产和消费。 |
分布式流计算引擎 |
对实时数据进行快速分析。
|
数据缓存 |
将流处理分析的结果进行缓存,满足流处理应用的访问需求。 Redis:提供高速key/value存储查询能力,用于流处理结果数据的高速缓存。 |
业务应用 |
查询并使用实时流处理结果的业务应用,由ISV开发。 |
父主题: 实时流处理