Confluent Schema-Registry 中的模式如何通过 Confluent-Replicator 传播到目标 Kafka-Cluster 和 Schema-Registry?
每个复制的消息模式是否包含在其中,或者模式是否通过单独的主题以某种方式单独复制?
我在 Confluent-Replicator 中没有看到任何与此相关的配置可能性。
Confluent Schema-Registry 中的模式如何通过 Confluent-Replicator 传播到目标 Kafka-Cluster 和 Schema-Registry?
每个复制的消息模式是否包含在其中,或者模式是否通过单独的主题以某种方式单独复制?
我在 Confluent-Replicator 中没有看到任何与此相关的配置可能性。
听起来您在问如何在多数据中心环境中使用模式注册表。这个https://docs.confluent.io/current/schema-registry/docs/multidc.html上有一个很好的文档
Replicator 可用于在后端保持模式注册表数据同步,如文档中所示。
模式不与主题一起存储,只有它们的 ID。并且_schemas
没有复制主题,只有 ID 存储在复制的主题中。
在高层次上,如果您使用AvroConverter
with Replicator,它将反序列化来自源集群的消息,根据复制器配置可选地重命名主题,然后序列化消息并将新的主题名称发送到目标集群 + 注册表.
否则,如果您使用ByteArrayConverter
,它不会检查消息,它只是将其复制到目标集群而无需注册。
根据 Schema Registry 规范,对 Avro 方式的一个小优化是仅检查消息在前 5 个字节上是 Avro 编码的,然后使用 Schema Registry REST API 对源主题执行 HTTP 查找,GET /schemas/ids/:id
如果需要,再次重命名主题到目标集群和POST
那里的模式。类似的方法适用于任何消费者/生产者对,例如 MirrorMakerMessageHandler
实现。