pl0*_*l0u 3 apache-kafka apache-kafka-streams
我们有一个生产 Kafka 集群,它最近被一堆新主题污染了。Kafka 集群有以下设置:
auto.create.topics.enable=false
delete.topic.enable=false
Run Code Online (Sandbox Code Playgroud)
经过调查,我发现这些主题是由使用KafkaStream的 createTopic 方法的客户团队创建的:
org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster#createTopic(java.lang.String, int, int)
这是否意味着 KafkaStream 的主题创建不经过服务器端代理设置auto.create.topics.enable?这是否意味着这些createTopic*方法不算作自动主题创建?如果是这样,我们如何阻止客户团队以编程方式在 Kafka 集群上创建主题?
编辑:kafka 集群运行 10.1.1,客户端运行 1.0.0 Kafka 和 Kafka-Stream
该配置auto.create.topics.enable仅适用于客户端尝试读取/写入不存在的主题(或查询不存在的主题的元数据)的情况。
Kafka Streams 确实使用CreateTopic请求明确创建主题,因此auto.create.topics.enable不适用。
您可以为集群设置一些 ACL 以控制谁可以创建主题:https : //kafka.apache.org/0101/documentation.html#security_authz
注意:如果您禁止使用 Kafka Streams 的团队创建新主题,那么他们将很难使用 Kafka Streams。没有这些主题,Kafka Streams 无法运行,您需要手动创建这些主题(使用正确的配置)以免破坏 Kafka Streams 应用程序。
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |