首先这里要捕获异常,否则循环会终止,导致重复或漏消息。
另外如果这里过了,那下次轮寻的时候就会察觉失效了
最后确保客户端版本和服务端保持一致
我只想到了一个会导致你这种现象的发生:
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for (ConsumerRecord<String, String> record : records){
// 这里,你的业务死锁了
}
}
1、带宽问题:
他这个是机器的带宽到了极限了,即使在多的消费者,带宽的大小就那么大,只能增加机器。
2、调大吞吐
参考一些相识的问题: