我所在的组织必须使用共享的Kafka集群。根据公司内部政策,我们用于身份验证的帐户仅分配有读/写权限。我们无法请求主题创建权限。要创建主题,我们需要遵循入职流程并预先知道主题名称。正如我们所知,Kafka流创建内部主题来保持流的状态。是否有办法禁用容错并将流状态保留在内存中或持久化在文件系统中?先谢谢你。
6kkfgxo01#
这完全取决于你如何编写拓扑,例如map/filter/forEach等无状态DSL操作符不创建任何内部主题。如果你真的需要做聚合,并建立状态存储,那么你真的不应该禁用主题。是的,状态存储要么存储在内存中,要么作为RocksDB存储在磁盘上,但它们最初仍然存储为主题,以便它们可以实际分发,或在失败的情况下重建。如果您想阻止它们,我认为您需要在代理上定义一个授权者类,它至少可以基于客户端application.id和client.id正则表达式模式来限制主题创建,但是您在客户端配置中无能为力。
application.id
client.id
1条答案
按热度按时间6kkfgxo01#
这完全取决于你如何编写拓扑,例如map/filter/forEach等无状态DSL操作符不创建任何内部主题。
如果你真的需要做聚合,并建立状态存储,那么你真的不应该禁用主题。是的,状态存储要么存储在内存中,要么作为RocksDB存储在磁盘上,但它们最初仍然存储为主题,以便它们可以实际分发,或在失败的情况下重建。
如果您想阻止它们,我认为您需要在代理上定义一个授权者类,它至少可以基于客户端
application.id
和client.id
正则表达式模式来限制主题创建,但是您在客户端配置中无能为力。