Apache kafka 卡夫卡暂停分区并花费很长时间(10分钟)再次恢复分区
我正在使用具有以下配置的spring kafka:Apache kafka 卡夫卡暂停分区并花费很长时间(10分钟)再次恢复分区,apache-kafka,kafka-consumer-api,spring-kafka,Apache Kafka,Kafka Consumer Api,Spring Kafka,我正在使用具有以下配置的spring kafka: props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, environment.getProperty("kafka.url")); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
environment.getProperty("kafka.url"));
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
KafkaAvroDeserializer.class);
props.put("specific.avro.reader", true);
props.put("schema.registry.url",
environment.getProperty("schema.registry.url"));
props.put("session.timeout.ms", 120000);
props.put("request.timeout.ms", 300000);
props.put("max.partition.fetch.bytes", "10240");
props.put("max.poll.interval.ms", 120000);
props.put("max.poll.records", 100);
及
@Bean
公共ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory(){
ConcurrentKafkaListenerContainerFactory工厂=新建
ConcurrentKafkaListenerContainerFactory();
setConsumerFactory(consumerFactory());
工厂设置并发(10);
}
我一启动服务器,用户就开始使用消息,但过了一段时间,few分区就会暂停,并且在将近9-10分钟内不会恢复。使用者线程中的处理时间以毫秒为单位,并且有单独的线程进行处理。我尝试了多种配置组合,但都不起作用
我还尝试使用设置factory.getContainerProperties().setPauseEnabled(false)强>
这会停止暂停/恢复,但在一段时间后,重新平衡开始发生,消费者很快就会死亡,并且在一段时间后,消费者组没有剩余的消费者
我正在使用以下版本:
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.1.3.RELEASE</version> //tried latest one as well
</dependency>
<dependency>
<groupId>io.confluent.maven</groupId>
<artifactId>kafka-connect-quickstart</artifactId>
<version>0.10.0.0</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>3.2.0</version>
</dependency>
org.springframework.kafka
春天卡夫卡
1.1.3.发布//也尝试了最新版本
io.confluent.maven
卡夫卡连接快速入门
0.10.0.0
合流的
卡夫卡avro序列化程序
3.2.0
请提供帮助。topic有多少个分区?topic有10个分区,您有一个消费者组,其中有10个线程。我使用的并发性为10,它创建了同一消费者实例的10个线程。这太旧了,已经不支持Spring for Apache Kafka。建议每个人至少升级到最新的
1.3.x
:ApacheKafka客户端中有大量修复程序,并且在春季对ApacheKafka进行了相应的改进。当然,最好是升级到最新的客户:他们无论如何都可以与老经纪人交谈。
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.1.3.RELEASE</version> //tried latest one as well
</dependency>
<dependency>
<groupId>io.confluent.maven</groupId>
<artifactId>kafka-connect-quickstart</artifactId>
<version>0.10.0.0</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>3.2.0</version>
</dependency>