Протокол Kafka обеспечивает совместимость и эволюцию данных с помощью системы версий и обратной совместимости. 15
Система версий предполагает, что каждая версия протокола состоит из пары запрос — ответ. 1 В запросе указывается ключ API и номер версии, который определяет формат запроса и ожидаемый формат ответа. 1 Клиенты реализуют определённую версию протокола и указывают её в своих запросах. 1
Обратная совместимость обеспечивает то, что новые данные, выдаваемые новой схемой, получаются старыми получателями, предназначенными для работы со старой схемой. 5 Так по мере развития схем поддерживается совместимость и предотвращаются простои. 5
Путь обновления предполагает, что новые функции сначала внедряются на сервере (старые клиенты не используют их), а затем, по мере развертывания новых клиентов, эти новые функции постепенно начинают использоваться. 1
Кроме того, некоторые форматы сериализации, такие как Avro и Protobuf, предоставляют поддержку эволюции схем данных. 3 Это означает, что можно вносить изменения в структуру данных, не нарушая совместимость с предыдущими версиями кода. 3