融合架构注册表:TopicRecordNameStrategy

时间:2020-08-13 16:05:07

标签: confluent-platform confluent-schema-registry

我是Confluent Schema Registry的新手,我试图首先了解核心概念。 我对TopicRecordNameStrategy有点模糊:

TopicRecordNameStrategy:从主题和记录名称中派生主题名称,以将可能在主题下具有不同数据结构的逻辑相关事件分组的方式。

非默认命名策略(RecordNameStrategy和TopicRecordNameStrategy)在按主题分组不是最佳选择的用例中支持模式管理,例如,单个主题可以具有使用多个模式的记录。

这些是CSR文档中的引号。

说,我有一个主题X,通过它我可以推送消息类型A和消息类型B(这些消息类型表示完全不同的类)。

我有以下3个问题:

  1. 考虑到我正在雇用TopicRecordNameStrategy,我将因此获得多少科目? 是一个主题还是两个主题?
  2. 主题名称是如何形成的?
  3. 由于每条消息都可以设置键和值模式,因此它对主题数量有何影响?

1 个答案:

答案 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.

上的融合文档