卡夫卡消费者 v.10
Kafka Consumer v.10
在Kafka 0.8之前的版本中使用SimpleConsumer有一些缺点
- 您必须跟踪应用程序中的偏移量以了解您在何处停止使用。
- 您必须弄清楚哪个 Broker 是主题和分区的主要 Broker
- 您必须处理 Broker 领导者的变更
在最新版本的 Kafka 中,我们有一个统一的 Consumer,它会轮询获取消息。应该如何跟踪和处理 broker/leader 变化?
在新版本中,对于consumer offset的管理,我们有一个默认的topic叫"__consumer_offsets"
,而不是像0.8版本那样依赖zookeeper或者手动管理
broker leader的变化仍然是通过zookeeper处理的。请记住,即使在当前版本中,Kafka 也确实需要 zookeeper 才能工作。只是消费者偏移依赖性发生了变化。因此,zookeeper 跟踪 broker/leader 选举。
此外,作为消费者,您确实不必担心经纪人领导者的变化。如果你使用高级别API的客户端作为consumer,你只需要指定Consumer Group ID, Topic to consume 和broker list(很少有服务器识别集群,topic甚至可能不存在)
在Kafka 0.8之前的版本中使用SimpleConsumer有一些缺点
- 您必须跟踪应用程序中的偏移量以了解您在何处停止使用。
- 您必须弄清楚哪个 Broker 是主题和分区的主要 Broker
- 您必须处理 Broker 领导者的变更
在最新版本的 Kafka 中,我们有一个统一的 Consumer,它会轮询获取消息。应该如何跟踪和处理 broker/leader 变化?
在新版本中,对于consumer offset的管理,我们有一个默认的topic叫"__consumer_offsets"
,而不是像0.8版本那样依赖zookeeper或者手动管理
broker leader的变化仍然是通过zookeeper处理的。请记住,即使在当前版本中,Kafka 也确实需要 zookeeper 才能工作。只是消费者偏移依赖性发生了变化。因此,zookeeper 跟踪 broker/leader 选举。
此外,作为消费者,您确实不必担心经纪人领导者的变化。如果你使用高级别API的客户端作为consumer,你只需要指定Consumer Group ID, Topic to consume 和broker list(很少有服务器识别集群,topic甚至可能不存在)