所以有一个Kafka集群,我们在它上面有一个Schema注册表来验证主题的模式。由于某些维护原因,如果模式注册表关闭,Kafka将在该持续时间内停机,并且不会接受任何新的传入数据请求?
发布于 2018-01-25 03:55:50
Kafka消费者和生产者在内部缓存从模式注册中心检索到的模式。只有在发送/接收到以前看不到模式的记录时,才会联系Schema Registry。
因此,只要您不启动任何新的消费者/生产者,或者使用以前没有发送过的模式发送记录,就应该没问题。
不过,我对此持保留态度,我已经查看了代码,并对控制台使用者和生产者运行了快速测试,在杀死模式注册表之后仍然可以生成和使用,但可能仍有失败的情况。
更新:
今天我突然想到,我可能回答你的问题太直白了,而不是试图理解你想要做什么:)
如果希望在模式注册表上启用维护窗口,可能值得考虑并行运行两个或多个模式注册表,并在生产者和消费者中配置它们。其中一个将被选为主实例,对模式的写请求将被转发到该实例。这样,如果您需要维护窗口,则可以执行滚动重启。
发布于 2018-09-02 05:04:39
KafkaAvroSerializer和反序列化程序维护一个架构ID缓存。
所以,只要没有新的生产者和消费者上线,你就不会看到错误。
如果注册表关闭,Kafka将不会停机,但您将开始在客户端中看到网络异常错误,因为它们使用HTTP与注册表通信,而Kafka使用自己的TCP协议
https://stackoverflow.com/questions/48390922
复制相似问题