Kafka流内部主题命名

xfb7svmp  于 2021-06-06  发布在  Kafka
关注(0)|答案(4)|浏览(750)

根据文件(https://docs.confluent.io/current/streams/developer-guide/manage-topics.html#internal-主题),内部主题遵循命名约定 <application.id>-<operatorName>-<suffix> .
我们有一些例子:

testapplication-KSTREAM-REDUCE-STATE-STORE-0000000008-repartition  
testapplication-KSTREAM-REDUCE-STATE-STORE-0000000027-repartition

有人知道整数是怎么确定的吗?
不幸的是,我们的安全要求不允许我们用应用程序创建主题,需要提前设置。我正在尝试确定这些主题名称是否一致。

hs1ihplo

hs1ihplo1#

整数是内部生成的。
您可以在这里找到文档:
https://docs.confluent.io/current/streams/javadocs/index.html
在groupby方法描述下,它说:
因为选择了一个新的键,所以将在kafka中创建一个内部重新分区主题。此主题将命名为“${applicationid}- repartition”,其中“applicationid”是用户在streamsconfig中通过参数application\u id\u config指定的,“”是内部生成的名称,“-repartition”是固定后缀。您可以通过topology.descripe()检索所有生成的内部主题名称。

ki1q1bka

ki1q1bka2#

通常,中间主题名按以下约定构造:

<ApplicationId>-<operator name>-<suffix>

后缀值可以是“changelog”或“repartition”
基于运算符,它使用一个后缀。举个例子:
testapplication聚合重新分区
testapplication聚合更改日志

1tuwyuhd

1tuwyuhd3#

为了回答您关于主题名称是否一致的问题,根据我的经验,它们在应用程序的两次执行之间是一致的,但是,如果您修改逻辑中任何连接或减少的顺序、添加或删除,主题名称可能会更改。

eoigrqb6

eoigrqb64#

你见过这些命令设置acl流内部主题。我相信它们是作为Kafkav2.x.x(融合文档)的一部分引入的


# Allow Streams to manage its own internal topics and consumer groups:

   bin/kafka-acls ... --add --allow-principal User:team1 --operation All --resource- 
   pattern-type prefixed --topic team1-streams-app1 --group team1-streams-app1

所以您只需要知道steams application.id,它是所有内部主题的前缀。
我相信你们会给予所有人许可,这也会允许他们的创造。

相关问题