我是Confluent Schema Registry的新手,我试图首先了解核心概念。
我对TopicRecordNameStrategy
有点模糊:
TopicRecordNameStrategy:从主题和记录名称中派生主题名称,以将可能在主题下具有不同数据结构的逻辑相关事件分组的方式。
非默认命名策略(RecordNameStrategy和TopicRecordNameStrategy)在按主题分组不是最佳选择的用例中支持模式管理,例如,单个主题可以具有使用多个模式的记录。
这些是CSR文档中的引号。
说,我有一个主题X,通过它我可以推送消息类型A和消息类型B(这些消息类型表示完全不同的类)。
我有以下3个问题:
TopicRecordNameStrategy
,我将因此获得多少科目?
是一个主题还是两个主题?答案 0 :(得分:1)
关于multiple event types in the same Kafka topic.
的概述有两个单独的配置选项,一个用于键,一个用于 value :key.subject.name.strategy
(定义了如何构造消息键的主题名称)和value.subject.name.strategy
(如何构造消息值的主题名称)。
对于值TopicRecordNameStrategy
:主题名称为<topic>-<type>-value
,其中<topic>
是Kafka主题名称,而<type>
是Avro记录类型的标准名称邮件的内容。
在您的情况下,将有2个价值主题:<topic X>-<type A>-value
和<topic X>-<type B>-value
。
对于键,默认为TopicNameStrategy
,您可以拥有一个<topic X>-<key>
。
how the naming strategies work.