暂停与多个消费者的kafka主题

mrm*_*one 3 java apache-kafka kafka-consumer-api

我有一个关于多个分区的主题和该主题的4个消费者都在同一个消费者群组中.如果一个消费者暂停该主题,其他三个消费者是否会暂停.如果有办法做到这一点?如果是的话,如果一个人取消暂停,所有其他消费者都会取消暂停.

ppa*_*rno 5

KafkaConsumer中的pause()和resume()操作不会在协议级别与Kafka代理生成任何请求.调用pause(),只是将指定的分区设置为暂停,在本地将它们标记为"不可获取".Kafka协议有一个Fetch请求,用于询问从客户端到服务器获取记录(这是在poll()方法中发生的事情).当分配的分区暂停时,它们被视为"不可获取",因此不会发送获取请求.消费者和经纪人之间没有沟通; 经纪人不知道你在消费者身上调用了pause().所以答案是否定的:即使因为pause()在分区级别而不是作为一个整体的主题级别,其他消费者也不会被暂停.

  • 没有办法做到这一点.这是Kafka的特色之一:客户比经纪人聪明:) (2认同)