一、什么是 Kafka
Kafka 是一款分布式、高吞吐、低延迟、持久化的消息队列/流处理平台。通俗的讲Kafka 就是一个"实时数据中转站+数据蓄水池"
-
上游业务/设备产生数据 → 发给 Kafka 存起来
-
下游 Flink、服务、数仓 → 从 Kafka 实时拉取数据计算
二、为什么大数据实时开发必须用 Kafka
如果没有 Kafka:
-
业务系统直接调用计算服务,流量暴涨会直接打崩服务
-
数据瞬时峰值过高,程序处理不过来导致丢失数据
-
无法解耦生产端和消费端
有了 Kafka:
-
削峰填谷:瞬时海量数据先缓存,下游慢慢消费
-
解耦:生产者只管发,消费者只管读,互不影响
-
持久化:数据落盘,不会丢失,支持回溯消费
-
高吞吐:支撑百万级 QPS,车联网、日志、实时数据首选
三、应用场景
1. 实时数据传输
车联网、物联网设备实时上报数据
2. 实时计算
配合 Flink 做实时清洗、统计、告警
3. 日志收集
系统日志、操作日志实时采集
4. 业务解耦
订单、支付、消息推送异步处理
5. 数据同步
实时同步数据库、数仓数据