Kafka初探

Kafka中哪些特性是基于Zookeeper开发的?哪些特性是独立的?

Kafka中基于Zookeeper开发的特性包括:

  1. Broker注册和发现:Kafka Broker在启动时会向Zookeeper注册自己的信息,并在需要时从Zookeeper获取其他Broker的信息。
  2. Topic和Partition的管理:Kafka的Topic和Partition信息都存储在Zookeeper中,Kafka Broker在启动时会从Zookeeper获取Topic和Partition的信息。
  3. Consumer Group的协调:Kafka Consumer Group的协调也是通过Zookeeper实现的,每个Consumer Group会在Zookeeper上创建一个节点,用于存储Group的信息和状态。
  4. Leader选举:Kafka的Partition会被分配给多个Broker,其中一个Broker会被选举为Partition的Leader,Leader负责处理读写请求。当Leader宕机时,Kafka会通过Zookeeper进行Leader选举。

Kafka中独立的特性包括:

  1. Producer和Consumer的API:Kafka提供了Producer和Consumer的API,用于发送和接收消息。
  2. 消息存储:Kafka使用自己的存储引擎来存储消息,与Zookeeper无关。
  3. 消息复制:Kafka支持消息复制,当Broker宕机时,消息可以从备份的Broker中恢复。
  4. 消息压缩和批处理:Kafka支持对消息进行压缩和批处理,以提高传输效率。

参考链接:

什么是 Apache Kafka
关于在 AWS 上运行 Apache Kafka 的最佳实践
Kafka支持百万级TPS的秘密都藏在这里
支持百万级TPS,Kafka是怎么做到的?答案藏在这10张图里
图解 Kafka
漫画:图解 Kafka,看本篇就足够啦
超详细“零”基础kafka入门篇
kafka是什么?
APACHE KAFKA
Kafka宕机后不再高可用?探究Kafka高可用实现
Kafka是什么?主要应用在什么场景?如何设计高可用?
Kafka
Kafka 安装部署、集群启动、命令行操作 与 可视化工具 Kafka Tool