Kafka核心逻辑介绍 | 京东云技术团队

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

Kafka是Linkedin开发的分布式消息系统,具有高吞吐量、低延迟、可扩展性、持久性、可靠性和高并发等特点。它支持多副本和分区,实时处理大量数据。Kafka的基本单位是消息,由key和value组成,根据策略路由到不同的分区。Kafka还有生产者、消费者、消费者组、分区、副本、Leader、Follower、Offset、ZooKeeper等概念。Kafka的高性能和高可用性通过数据批量发送、磁盘顺序读写、数据压缩传输、分区划分等方式实现。消费方式可以是最多一次、最少一次或精确一次。

🎯

关键要点

  • Kafka是由Linkedin开发的分布式消息系统,支持分区和多副本。
  • Kafka能够实时处理大量数据,适用于多种场景,如批处理和流式处理。
  • Kafka具有高吞吐量和低延迟,每秒可处理几十万条消息,延迟仅为几毫秒。
  • Kafka支持热扩展,具备持久性和可靠性,消息被持久化到本地磁盘并支持数据备份。
  • Kafka允许集群中节点失败,具备容错性,支持数千个客户端同时读写。
  • Kafka的基本单位是消息,由key和value组成,消息路由到不同的分区。
  • Kafka使用日志文件保存消息,分区以文件形式存储,命名规则为<topic_name>-<partition_id>。
  • Producer是消息生产者,Consumer是消息消费者,Consumer Group提高消费能力。
  • Broker是Kafka集群中的一台机器,Controller由ZooKeeper选举产生,管理集群。
  • Topic将消息分类,Partition提高并发能力,每个Partition是有序队列。
  • Replication确保每个分区有多个副本,Leader负责数据的读写,Follower同步数据。
  • Offset记录消费者消费的位置,ZooKeeper帮助管理集群信息。
  • Kafka的高吞吐量通过数据批量发送、顺序读写、数据压缩和分区实现。
  • ACK机制有三种模式,分别为0、1和all,影响消息的可靠性。
  • Kafka的消费方式包括最多一次、最少一次和精确一次,影响数据的消费和记录方式。
  • 高水位(HW)标识特定的消息偏移量,消费者只能消费HW之前的消息。
➡️

继续阅读