如何通过Replicator传播Schema-Registry中的模式

时间:2018-05-24 22:00:26

标签: apache-kafka avro confluent confluent-schema-registry

Confluent Schema-Registry中的模式如何通过Confluent-Replicator传播到目标Kafka-Cluster和Schema-Registry?

是否包含每个复制的消息架构,或者是通过单独的主题分别以某种方式复制的架构?

我没有在Confluent-Replicator中看到任何关于此的配置可能性。

2 个答案:

答案 0 :(得分:0)

听起来您在询问如何在多数据中心环境中使用架构注册表。这个https://docs.confluent.io/current/schema-registry/docs/multidc.html

是一个非常好的文档

Replicator可用于使架构注册表数据在后端保持同步,如文档中所示。

答案 1 :(得分:0)

模式不与主题一起存储,仅与ID一起存储。并且_schemas主题不会被复制,只有ID会存储在复制的主题中。

在较高级别上,如果将AvroConverter与复制器一起使用,它将从源群集反序列化消息,可以根据复制器配置对主题进行重命名,然后序列化消息并发送新消息主题名称到目标群集+注册表。

否则,如果您使用ByteArrayConverter,它将不检查消息,而只是将其复制到目标群集,而无需注册。

Avro方式的一个小优化将是仅按照Schema Registry规范检查消息是否在前5个字节上进行了Avro编码,然后使用Schema Registry REST API {{1对源主题执行HTTP查找}},再次根据需要将主题重命名为目标集群,然后GET /schemas/ids/:id那里的模式。类似的方法也可以在任何消费者/生产者对中使用,例如MirrorMaker POST实现。