Получить доступ

Для чего нужна Schema Registry?

JuniorЭкосистема KafkaKafka
Ещё спрашивают так:
  • Что такое реестр схем?
Коротко

Schema Registry — централизованное хранилище схем сообщений с проверкой совместимости: контракт между производителем и потребителями проверяется автоматически.

  • Сообщение несёт id схемы
  • Несовместимое изменение отклоняется при регистрации
  • Форматы: Avro, Protobuf, JSON Schema

А ещё Аналог OpenAPI для событий

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

События живут дольше одной версии сервиса: продюсер уже выкатил новый формат, а часть потребителей ещё читает старый. Реестр хранит схемы и при публикации новой версии проверяет её по заданному правилу совместимости, отклоняя ломающие изменения. Вместо схемы в каждое сообщение кладётся её идентификатор, что заодно уменьшает объём передаваемых данных.

Что хотят услышать

  • Назначение реестра.
  • Проверка совместимости.

Частые ошибки

  • Путать реестр схем с хранилищем самих сообщений.
  • Считать проверку совместимости необязательной формальностью.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Хранит схемы сообщений и проверяет совместимость новых версий, чтобы продюсер не сломал существующих потребителей
  • ✗Хранит сами сообщения для последующего перечитывания
  • ✗Управляет распределением партиций между потребителями
  • ✗Шифрует сообщения при передаче между сервисами

Что спросят дальше

  • Какие изменения схемы считаются совместимыми?
  • Чем режимы совместимости отличаются друг от друга?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем