了解 Kafka Broker 与 Zookeper

Gre*_*reg 7 apache-kafka

我注意到,当向 kafka(生产者)发送消息时,示例显示连接到端口 9092——直接写入代理。使用示例时,显示连接到端口 2181,大概是 Zookeeper。

后者是有道理的——我想从“集群”中读取数据,让 Zookeeper 找出客户端应该与哪个代理通信,并管理诸如了解集群中谁还活着/死了之类的事情。

为什么发布/写入不能以相同的方式工作,即写入“集群”(通过zookeeper)?

我是否正确理解这一点,为了生产,我绕过了zookeeper(集群知识)并且必须知道生产者节点(并且大概弄清楚如果失败该怎么办)?

Gwe*_*ira 4

Kafka 的“高级消费者”使用 Zookeeper 来跟踪消费者组中的每个成员正在消费哪些分区,有时还跟踪在哪个分区中读取了哪些偏移量。由于需要访问 Zookeeper,我们不妨使用它来找出代理在哪里......

在新的消费者(即将在下一个版本中推出)中,不再需要 Zookeeper,消费者直接连接到代理,就像生产者当前所做的那样。