我注意到,当向 kafka(生产者)发送消息时,示例显示连接到端口 9092——直接写入代理。使用示例时,显示连接到端口 2181,大概是 Zookeeper。
后者是有道理的——我想从“集群”中读取数据,让 Zookeeper 找出客户端应该与哪个代理通信,并管理诸如了解集群中谁还活着/死了之类的事情。
为什么发布/写入不能以相同的方式工作,即写入“集群”(通过zookeeper)?
我是否正确理解这一点,为了生产,我绕过了zookeeper(集群知识)并且必须知道生产者节点(并且大概弄清楚如果失败该怎么办)?
Kafka 的“高级消费者”使用 Zookeeper 来跟踪消费者组中的每个成员正在消费哪些分区,有时还跟踪在哪个分区中读取了哪些偏移量。由于需要访问 Zookeeper,我们不妨使用它来找出代理在哪里......
在新的消费者(即将在下一个版本中推出)中,不再需要 Zookeeper,消费者直接连接到代理,就像生产者当前所做的那样。
| 归档时间: |
|
| 查看次数: |
3813 次 |
| 最近记录: |