1. 背景
对于很多数据团队来说,要满足实时需求并不容易。为什么?因为作流程(数据采集、预处理、分析、结果保存)涉及大量等待。等待数据发送到 ETL 工具,等待数据批量处理,等待数据加载到数据仓库中,甚至等待查询完成运行。
但开源领域有一个解决方案:Kafka、Flink和Druid一起使用时,可以创建一个实时数据架构,减少这些等待时间。在这篇文章中,我们将探讨如何利用Kafka、Flink、Druid实现广泛的实时数据系统架构。
2. 构建实时数据系统
什么是实时数据系统?想象一下任意一个后台系统或服务器端系统,它们利用数据来实时提供决策依据,这些数据包数据括警报、监控、仪表板、分析和个性化建议。
构建这种实时数据系统就是 Kafka-Flink-Druid (KFD) 架构的用武之地。
这种架构可以轻松构建实时数据应用系统,例如可观测性、物联网/遥测分析、安全检测/诊断以及高吞吐量和 QPS 下面向客户的洞察。
让我们看看它们如何一起使用。
3. 流数据管道:Kafka
Kafka在过去几年中已成为流数据事实上的标准。在此之前,RabbitMQ、ActiveMQ和其他消息队列系统被用来提供各种消息传递模式,将数据从生产者分发到消