Для чего нужна Schema Registry?
- Что такое реестр схем?
Schema Registry — централизованное хранилище схем сообщений с проверкой совместимости: контракт между производителем и потребителями проверяется автоматически.
- Сообщение несёт id схемы
- Несовместимое изменение отклоняется при регистрации
- Форматы: Avro, Protobuf, JSON Schema
А ещё Аналог OpenAPI для событий
Подробно
События живут дольше одной версии сервиса: продюсер уже выкатил новый формат, а часть потребителей ещё читает старый. Реестр хранит схемы и при публикации новой версии проверяет её по заданному правилу совместимости, отклоняя ломающие изменения. Вместо схемы в каждое сообщение кладётся её идентификатор, что заодно уменьшает объём передаваемых данных.
Что хотят услышать
- Назначение реестра.
- Проверка совместимости.
Частые ошибки
- Путать реестр схем с хранилищем самих сообщений.
- Считать проверку совместимости необязательной формальностью.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Хранит схемы и проверяет их совместимость
- ✗Хранит сами сообщения для последующего перечитывания
- ✗Управляет распределением партиций между потребителями
- ✗Шифрует сообщения при передаче между сервисами
Что спросят дальше
- Какие изменения схемы считаются совместимыми?
- Чем режимы совместимости отличаются друг от друга?
Разбор темы
- Kafka API и экосистема
Клиентские API, Kafka Connect и Debezium, Streams и stream-processing, ksqlDB, Schema Registry и MirrorMaker для multi-DC.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.