为什么spring KafkaConsumer 在授权失败时暂停n个topic的所有消费
Why does the spring KafkaConsumer suspend all consumption from n topics when one fails to authorize
我正在使用 spring-kafka 2.3.6.RELEASE 库来使用许多 kafka 主题。在界面允许的情况下,我正在使用单个侦听器来使用所有主题。我注意到,如果单个主题无法授权,KafkaConsumer 实例会暂停其线程,停止使用所有主题,直到重试间隔结束。
这对我来说似乎非常脆弱,特别是对于专注于弹性和并行性的技术。
有没有其他人观察到这种行为,如果有,除了编写我们自己的消费者实现之外,还有什么方法可以减轻它吗?
Spring 只是委托给底层的 kafka-clients jar,所以这些事情是它无法控制的。
您可以为每个主题使用单独的侦听器。例如 @KafkaListener
是一个可重复的注释,因此您可以将多个注释添加到单个方法。
我正在使用 spring-kafka 2.3.6.RELEASE 库来使用许多 kafka 主题。在界面允许的情况下,我正在使用单个侦听器来使用所有主题。我注意到,如果单个主题无法授权,KafkaConsumer 实例会暂停其线程,停止使用所有主题,直到重试间隔结束。
这对我来说似乎非常脆弱,特别是对于专注于弹性和并行性的技术。
有没有其他人观察到这种行为,如果有,除了编写我们自己的消费者实现之外,还有什么方法可以减轻它吗?
Spring 只是委托给底层的 kafka-clients jar,所以这些事情是它无法控制的。
您可以为每个主题使用单独的侦听器。例如 @KafkaListener
是一个可重复的注释,因此您可以将多个注释添加到单个方法。