【发布时间】:2021-12-17 09:45:41
【问题描述】:
我们在 IBM Cloud 上的 Kafka 代理中存在一个潜在问题,我们的 kafka 消费者(Spring ListenerConsumer 和 KafkaStreams)偶尔会遇到 org.apache 异常。 kafka.common.errors.TopicAuthorizationException 在运行/轮询时
我们通过设置 AuthorizationExceptionRetryInterval 克服了 Kafka 监听器中的这个问题,这意味着 kafka 将重试直到异常解决。这里都很好
[ consumer-0-C-1] o.a.k.c.consumer.internals.Fetcher : [Consumer clientId=consumerxxx_processing00b773de-064b-4c6f-8d0b-31a06de5ea93-14,
groupId=xxx-00b773de-064b-4c6f-8d0b-31a06de5ea93]
Not authorized to read from partition xxx_topic_name-2.
2021-11-02 01:15:10.086 ERROR [XXX] 1 --- [ consumer-0-C-1] essageListenerContainer$ListenerConsumer : Authorization Exception, retrying in 30000 ms
但是,当涉及到 kafka 流时,我们找不到类似的东西,因此我们的流正在关闭
2021-11-02 01:15:10.094 ERROR [xxx] 1 --- [-StreamThread-1] o.a.k.s.p.internals.StreamThread : stream-thread [xxx-8c944f68-9bb5-488c-89c69271200e84c4-StreamThread-1]
Encountered the following exception during processing and the thread is going to shut down:
org.apache.kafka.common.errors.TopicAuthorizationException: Not authorized to access topics: [xxx_topic_name]
我们的应用可以检测到流已关闭,因此会在一段时间后重新启动。这似乎并不理想。会喜欢 spring kafka 在引擎盖下为我们处理它。
谁能想到更好的解决方法?
【问题讨论】:
标签: spring-boot apache-kafka-streams spring-kafka