если Schema-Registry не работает, означает ли это, что у Kafka будет простой?

Итак, есть кластер Kafka, и у нас есть реестр схемы поверх него для проверки схемы для тем. По какой-то причине обслуживания, если реестр схемы не работает, у Kafka будет простой в течение этого времени, и он не будет принимать какие-либо новые входящие запросы данных?


person Bharat    schedule 22.01.2018    source источник


Ответы (2)


Потребители и производители Kafka кэшируют схемы, которые они извлекают из реестра схем, внутренне. К реестру схем обращаются только тогда, когда отправляется / принимается запись, для которой ранее схема не просматривалась.

Поэтому до тех пор, пока вы не запускаете новых потребителей / производителей или не отправляете записи со схемами, которые не были отправлены ранее, все будет в порядке.

Однако отнеситесь к этому с долей скептицизма, я просмотрел код и провел быстрый тест с потребителем и производителем консоли и все еще мог производить и потреблять после удаления реестра схемы, но могут быть случаи, когда он все равно не работает.

Обновление:

Сегодня мне пришло в голову, что я, наверное, слишком дословно ответил на ваш вопрос, вместо того, чтобы пытаться понять, что вы пытаетесь сделать :)

Если вы хотите включить окна обслуживания в реестре схемы, возможно, стоит изучить возможность параллельного запуска двух или более реестров схем и настроить их обоих в ваших производителях и потребителях. Один из них будет выбран главным, и запросы на запись для схем будут перенаправлены этому экземпляру. Таким образом, вы можете выполнять непрерывный перезапуск, если вам нужны окна обслуживания.

person Sönke Liebau    schedule 24.01.2018

KafkaAvroSerializer и десериализатор поддерживают кэш идентификаторов схемы.

Так что, пока в сеть не появятся новые производители и потребители, вы не увидите ошибок.

Если реестр не работает, у Kafka не будет простоев, но вы начнете видеть ошибки сетевых исключений на клиентах, поскольку они используют HTTP для связи с реестром, тогда как Kafka использует свой собственный протокол TCP.

person OneCricketeer    schedule 01.09.2018