我们将 Aiven 用作 Kafka 即服务提供商,它们支持凭证轮换。例如每 24 小时。
到目前为止,我们还没有找到在需要轮换时在 Spring Kafka 中创建新消费者/生产者的方法。基本上,一个 TopicAuthorizationException 被抛出consumer.poll
。
我们需要做的,基本上是创建一个具有更新信任库和密钥库路径的新消费者。密钥库和信任库是从 kubernetes 机密中加载的。
任何人都知道我们如何才能使这项工作?
我们将 Aiven 用作 Kafka 即服务提供商,它们支持凭证轮换。例如每 24 小时。
到目前为止,我们还没有找到在需要轮换时在 Spring Kafka 中创建新消费者/生产者的方法。基本上,一个 TopicAuthorizationException 被抛出consumer.poll
。
我们需要做的,基本上是创建一个具有更新信任库和密钥库路径的新消费者。密钥库和信任库是从 kubernetes 机密中加载的。
任何人都知道我们如何才能使这项工作?
侦听器容器将在任何AuthorizationException
.
您可以添加ApplicationListener
or@EventListener
方法来接收ListenerContainerStoppedEvent
.
您可以等待所有子容器停止,也可以立即停止并发容器;containerProperties.kafkaConsumerProperties
使用新的存储位置更新容器并重新启动容器。
我目前在生产者方面没有看到好的解决方案;您需要将生产者工厂 bean 或KafkaTemplate
(s) 替换为商店位置的新覆盖。
我会打开一个问题,以便在那里更容易。