Apache Kafka:消息处理与流处理的强大工具
1. 概述
Apache Kafka 是一个用于消息传递、流式 ETL 和数据流处理的系统。Kafka 集群提供发布 - 订阅消息服务,生产者客户端将消息写入 Kafka,消费者客户端从 Kafka 读取消息。消息存储在称为代理(brokers)的 Kafka 服务器中,并按命名主题(topics)组织。
1.1 主题与分区
- 主题(Topics) :是一个仅追加的消息序列,也称为日志。每次向主题写入消息时,消息会追加到日志末尾。Kafka 消息是键值对,键和值是可变长度的字节数组,并且每条消息都有一个 64 位整数的时间戳。
- 分区(Partitions) :主题被划分为分区。生产者写入消息时必须指定消息的分区,默认情况下,消息按键进行哈希分区,相同键的消息会写入同一分区。每条消息都有一个关联的偏移量(offset),表示消息在分区内的位置,是一个单调递增的序列号。Kafka 保证单个分区内消息的严格顺序,但不同分区或不同主题之间的消息没有顺序保证。
1.2 多生产者与消费者组
- 多生产者 :多个生产者可以同时向同一主题写入消息。如果多个生产者写入同一分区,他们的消息会交错存储。
- 消费者组(Consumer Groups) :如果消费者从同一主题读取消息,他们可以组成消费者组。在消费者组内,每个消费者从分区的一个子集读取数据,Kafka 确保每个
超级会员免费看
订阅专栏 解锁全文
2341

被折叠的 条评论
为什么被折叠?



