如果Schema-Registry关闭,这是否意味着Kafka会停机?

问题描述 投票:1回答:2

所以有一个Kafka集群,我们在它上面有一个Schema注册表来验证主题的模式。出于某些维护原因,如果架构注册表已关闭,Kafka将在该持续时间内停机,并且它不会接受任何新的传入数据请求?

apache-kafka confluent confluent-schema-registry
2个回答
1
投票

Kafka使用者和生产者在内部缓存他们从模式注册表中检索的模式。仅在发送/接收记录时才联系架构注册表,之前未找到任何架构。

因此,只要您不启动任何新的消费者/生产者或发送以前未发送过的模式的记录,您应该没问题。

尽管如此,我已经查看了代码并对控制台使用者和生产者进行了快速测试,并且在杀死模式注册表后仍然可以生成和使用,但可能会出现仍然失败的情况。

更新:

今天我想到我可能已经回答了你的问题,而不是试图理解你想要做什么:)

如果要在架构注册表上启用维护窗口,则可能需要并行运行两个或更多架构注册表,并在生产者和使用者中配置它们。其中一个将被选为master,并且对模式的写请求将被转发到该实例。这样,如果需要维护窗口,可以执行滚动重启。


0
投票

KafkaAvroSerializer和反序列化器维护模式ID缓存。

因此,只要没有新的生产者和消费者上网,您就不会看到任何错误。

如果注册表已关闭,Kafka将不会有停机时间,但您将开始在客户端看到网络异常错误,因为他们使用HTTP与注册表通信,而Kafka使用自己的TCP协议

© www.soinside.com 2019 - 2024. All rights reserved.