核心知识点
-
Kafka 三大核心角色:
- Producer(生产者) :负责向 Kafka topic 推送数据。可以理解为数据流的发起者。
- Broker:Kafka 服务器节点,负责存储数据流。Kafka 集群由多个 broker 组成。
- Consumer(消费者) :负责从 Kafka topic 中读取和处理数据,可以是日志分析服务、数据库服务器等。
-
核心概念:
- Topic:Kafka 的基本单元,类似于数据库的表结构,用于对数据进行分类。
- Partition:每个 topic 可以细分为多个 partition。每个 partition 是一个有序的不可变的记录序列,并且不断追加到此结构中。
- Offset:Kafka 不同于传统差的消息队列的一点就是,它会给每条消息分配一个 offset(偏移量),在 consumer 端用来追踪消费者的读取记录。
- Consumer Group(消费组) :组中的每个 consumer 是相互独立地消费分配给自己的 partition。不同消费组可以独立消费消息。
典型场景
- 实时日志流处理:分析网站点击流,通过 Kafka 传输并处理实时用户数据信息。
- 物联网设备数据采集:设备数据通过 Kafka 实时推送到后台服务器进行分析处理。
- 微服务间异步通信:简化服务之间的通信,减少同步调用带来的复杂性。
- 金融交易实时风控:收集交易数据实时分析,检测异常行为。