首先我们要理解Kafka和zookeeper的关系:Kafka的一些基本概念:
Broker :安装Kafka服务的那台集群就是一个broker(broker的id要全局唯一) Producer:消息的生产者,负责将数据写入到broker中(push) Consumer:消息的消费者,负责从kafka中读取数据(pull),老版本的消费者需要依赖zk,新版本的不需要 Topic: 主题,相当于是数据的一个分类,不同topic存放不同的数据 replication:副本,数据保存多少份(保证数据不丢) partition:分区,是一个物理分区,一个分区就是一个文件,一个topic可以有一到多个分区,每一个分区都有自己的副本。
Consumer Group:消费者组,一个topic可以有多个消费者同时消费,多个消费者如果在一个消费者组中,那么他们不能重复消费数据
Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。