Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Kafka®
  • Начало работы
    • Взаимосвязь ресурсов сервиса
    • Топики и разделы
    • Брокеры
    • Протокол KRaft
    • Производители и потребители
    • Управление схемами данных
    • API в Managed Service for Apache Kafka®
    • Классы хостов
    • Сеть в Managed Service for Apache Kafka®
    • Квоты и лимиты
    • Хранилище в Managed Service for Apache Kafka®
    • Коннекторы
    • Техническое обслуживание
    • Настройки Apache Kafka®
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Как работает реестр схем форматов данных
  • Managed Schema Registry
  • Субъекты в Managed Schema Registry
  • Авторизация в Managed Schema Registry
  • Примеры использования
  • Confluent Schema Registry
  • Примеры использования
  1. Концепции
  2. Управление схемами данных

Управление схемами данных

Статья создана
Yandex Cloud
Улучшена
Обновлена 22 апреля 2025 г.
  • Как работает реестр схем форматов данных
  • Managed Schema Registry
    • Субъекты в Managed Schema Registry
    • Авторизация в Managed Schema Registry
    • Примеры использования
  • Confluent Schema Registry
    • Примеры использования

Apache Kafka® использует бинарный формат для хранения и передачи сообщений. В сообщениях нет никакой информации об их структуре. Поэтому для интерпретации данных в бинарном формате потребителю нужно воспользоваться схемой формата данных (format schema). Она описывает формат ввода или вывода данных.

На основе схемы формата данных производитель формирует, а потребитель интерпретирует сообщения из топиков. Если схемы форматов данных производителей и потребителей будут различаться, в работе приложения будут возникать ошибки из-за неправильной интерпретации сообщений.

Разработчикам производителя и потребителя необходимо:

  • Своевременно обновлять схемы форматов данных.
  • Обеспечивать возможность работы производителя и потребителя сразу с несколькими версиями схем форматов данных, если это необходимо.

Для автоматизации работы со схемами формата данных используется реестр схем формата данных. Он существенно упрощает работу с данными, особенно в случаях, когда схема меняется со временем. Реестр автоматически проверяет совместимость версий данных и обеспечивает обратную совместимость версий схем.

Как работает реестр схем форматов данныхКак работает реестр схем форматов данных

  1. Производитель передает схемы форматов данных в реестр. Поддерживаются следующие форматы схем данных:

    • Avro.
    • JSON Schema.
    • Protobuf.

    При помещении схемы в реестр:

    • Ей присваивается уникальный номер версии.
    • Схема и ее версия сохраняются в служебном топике Apache Kafka®.
  2. При отправке сообщения производитель указывает номер версии нужной схемы.

  3. При получении сообщения потребитель извлекает из него номер версии схемы формата данных.

  4. Если нужной схемы формата данных нет в локальном кеше, потребитель обращается за ней в реестр. Получив нужную схему, он корректно интерпретирует полученное сообщение.

Managed Schema RegistryManaged Schema Registry

В кластер Managed Service for Apache Kafka® уже интегрирован реестр схем формата данных Managed Schema Registry. Реестр разворачивается на каждом хосте-брокере кластера и доступен по протоколу HTTPS на порте 443.

В качестве реализации Managed Schema Registry используется приложение с открытым исходным кодом Karapace. API Karapace совместимо с API Confluent Schema Registry за исключением небольших расхождений. Для выполнения запросов необходима авторизация.

Сведения о схемах помещаются в служебный топик __schema_registry. В этот топик нельзя писать данные стандартными средствами.

Чтобы воспользоваться этим реестром, включите соответствующую опцию при создании или обновлении кластера.

Для работы с Managed Schema Registry требуется дополнительная настройка групп безопасности.

Субъекты в Managed Schema RegistryСубъекты в Managed Schema Registry

Для схем используются субъекты (subjects) — названия, под которыми регистрируются схемы. Для записи и чтения схем Apache Kafka® использует субъекты <название_топика>-key или <название_топика>-value в зависимости от того, регистрируется ли схема для ключа или значения. В субъекте указывается топик, в который публикуются сообщения.

Доступ к субъектам зависит от прав, выданных пользователю Apache Kafka®:

  • Если пользователю назначена роль ACCESS_ROLE_CONSUMER или ACCESS_ROLE_PRODUCER на конкретный топик, пользователь может управлять субъектами <название_топика>-key, <название_топика>-value и <название_топика>.
  • Если пользователю назначена роль ACCESS_ROLE_CONSUMER или ACCESS_ROLE_PRODUCER на топик вида <префикс>*, пользователь может управлять субъектами такого же вида <префикс>*. Названия топиков и субъектов начинаются с одинакового префикса.
  • Если пользователю назначена роль ACCESS_ROLE_ADMIN, он может управлять всеми субъектами в кластере Managed Service for Apache Kafka®.

Авторизация в Managed Schema RegistryАвторизация в Managed Schema Registry

При работе с API Managed Schema Registry через SSL-соединение необходимо настроить тот же клиентский SSL-сертификат, что и для подключения к хостам-брокерам.

Также необходимо авторизовывать запросы к API-серверам с помощью HTTP-заголовка Authorization. В заголовке нужно указать логин и пароль пользователя Apache Kafka®.

Возможность работы со схемами зависит от выбранного способа управления топиками и настроенных ролей пользователя:

  1. При использовании управляемых топиков:

    • Пользователю с ролью ACCESS_ROLE_PRODUCER для топика доступны любые операции над субъектами, связанными с этим топиком.
    • Пользователю с ролью ACCESS_ROLE_CONSUMER для топика доступны операции чтения над субъектами, связанными с этим топиком.

    Подробнее о том, какие субъекты доступны, см. в разделе Субъекты в Managed Schema Registry.

  2. При использовании неуправляемых топиков:

    • Верно то же, что и для кластера с управляемыми топиками.
    • В дополнение к этому пользователю с ролью ACCESS_ROLE_ADMIN для топика доступны любые операции над субъектами, связанными с этим топиком. Для такого пользователя можно разрешить доступ к любым топикам.

Подробнее о ролях см. в разделе Управление пользователями.

Примеры использованияПримеры использования

  • Управление схемами данных в Managed Service for Apache Kafka®
  • Работа с управляемым реестром схем формата данных
  • Работа с управляемым реестром схем формата данных с помощью REST API

Confluent Schema RegistryConfluent Schema Registry

Confluent Schema Registry — один из вариантов программного обеспечения, решающий проблему синхронизации схем форматов данных между производителями и потребителями.

Confluent Schema Registry помещает схемы форматов данных на хранение в служебный топик Apache Kafka® с именем _schemas.

Подробнее о работе реестра см. в документации Confluent.

Примеры использованияПримеры использования

  • Управление схемами данных в Managed Service for Apache Kafka®
  • Использование Confluent Schema Registry с Managed Service for Apache Kafka®

Была ли статья полезна?

Предыдущая
Производители и потребители
Следующая
API в Managed Service for Apache Kafka®
Проект Яндекса
© 2025 ООО «Яндекс.Облако»