Kafka笔记

Kafka笔记

💡 原文中文,约6700字,阅读约需16分钟。
📝

内容提要

Kafka是一种分布式的基于发布/订阅模式的消息队列,应用场景包括缓冲/消峰、解耦和异步通信。其架构包括生产者、分区、Broker和消费者。使用分区提高吞吐量和并行处理能力。副本机制和幂等配置保证数据可靠性。具有顺序写日志、零拷贝和页缓存等特性。消费者组和再平衡机制实现并行消费和解决压力不平衡问题。

🎯

关键要点

  • Kafka是一种分布式的基于发布/订阅模式的消息队列。

  • 消息队列的应用场景包括缓冲/消峰、解耦和异步通信。

  • Kafka的架构包括生产者、分区、Broker和消费者。

  • 使用分区可以提高吞吐量和并行处理能力。

  • 副本机制和幂等配置保证数据的可靠性。

  • Kafka具有顺序写日志、零拷贝和页缓存等特性。

  • 消费者组和再平衡机制实现并行消费和解决压力不平衡问题。

  • 生产者通过send方法发送数据,支持同步和异步方式。

  • 分区策略包括指定分区、根据key的hash映射分区和使用上一次的分区。

  • 生产者可以通过调整batch.size、linger.ms等参数提高吞吐量。

  • 幂等配置用于保证数据不重复发送,开启后每条数据会加上唯一标识。

  • Kafka使用pull方式,消费者从Kafka集群拉取数据,offset存储在__consumer_offsets主题中。

  • 消费者组由多个消费者组成,限制在于同一消费者组中的消费者不能同时消费同一分区的数据。

  • Kafka提供多种分区分配策略,包括Range、Roundrobin和Sticky。

  • 再平衡机制用于防止消费者下线后引起的消费者压力不平衡。

  • Kafka的文件存储机制包括数据、索引和时间索引文件。

  • Kafka通过稀疏索引和零拷贝技术提高数据处理速度。

➡️

继续阅读