Kafka 快速入门

什么是 Kafka Kafka 是一个分布式流处理平台。 可以将其视为一个高吞吐量、容错的消息队列。 它专为处理实时数据流而设计。 概念 主题(Topic): 发布记录的类别或馈送名称。 分区(Partition): 一个主题被分成多个分区,这些分区是有序的、不可变的记录序列。分区实现了并行性和可伸缩性。 生产者(Producer): 将记录发布到 Kafka 主题的应用程序。 消费者(Consumer): 订阅一个或多个主题并处理记录的应用程序。 代理(Broker): Kafka 服务器。代理存储数据。 集群(Cluster): 一起工作的代理组。 副本(Replica): 每个分区可以跨多个代理进行复制,以实现容错。 领导者(Leader): 分区的一个副本被指定为领导者,处理所有读写请求。 追随者(Follower): 分区的其他副本是追随者,从领导者复制数据。 偏移量(Offset): 分配给分区内每个记录的唯一、顺序 ID。消费者使用偏移量跟踪它们在分区中的位置。 消费者组(Consumer Group): 一组消费者一起从一个主题消费记录。每个分区被分配给一个组内的一个消费者。 保留策略(Retention Policy): 定义 Kafka 在删除记录之前保留记录的时间。 ZooKeeper: 用于管理和协调 Kafka 集群(尽管较新版本正在摆脱 ZooKeeper)。 常见应用场景 实时数据管道: 从各种来源摄取和处理数据流。 日志聚合: 将来自多个服务器的日志收集到一个中心位置。 流处理: 构建分析和响应数据流的实时应用程序。 事件溯源: 存储表示应用程序状态更改的事件序列。 消息传递: 应用程序之间可靠、高吞吐量的消息传递。 活动跟踪: 实时跟踪网站或应用程序上的用户活动。 提交日志: 用作分布式数据库的提交日志。 Kafka 在系统设计中的作用 解耦: Kafka 解耦了生产者和消费者,允许它们独立发展。 可伸缩性: Kafka 可以处理大量数据,并通过添加更多代理进行水平扩展。 可靠性: 容错确保数据不会丢失。 缓冲: ...

March 10, 2025 · datewu

Kafka Quick Start

what’s kafka Kafka is a distributed streaming platform. Think of it as a high-throughput, fault-tolerant message queue on steroids. It’s designed for handling real-time data feeds. Concepts Topic: A category or feed name to which records are published. Partition: A topic is divided into partitions, which are ordered, immutable sequences of records. Partitions enable parallelism and scalability. Producer: An application that publishes records to a Kafka topic. Consumer: An application that subscribes to one or more topics and processes the records. ...

March 10, 2025 · datewu