Вопрос с собеседования · Брокеры сообщений

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

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

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

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

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

Подробно

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

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

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

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

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

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

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

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

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

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

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования