В настоящее время я изучаю систему схемы Avro, и, насколько я понимаю, поток обновления схемы таков:
1) Клиент изменяет схему (возможно, добавляя новое поле со значением по умолчанию для обратной совместимости) и отправляет данные в Kafka, сериализованные с обновленной схемой.
2) Реестр схем проверяет совместимость и регистрирует новую версию схемы с новой версией и уникальным идентификатором.
3) Потребитель (все еще использующий старую схему) пытается десериализовать данные, и эволюция схемы удаляет новое поле, позволяя потребителю десериализовать данные.
Насколько я понимаю, нам нужно явно обновить потребителей после изменения схемы, чтобы предоставить им последнюю схему. Но почему потребитель просто вытаскивает последнюю схему, когда видит, что идентификатор изменился?