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