Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Kafka®
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к кластеру
    • Остановка и запуск кластера
    • Обновление версии Apache Kafka®
    • Изменение настроек кластера
    • Управление хостами Apache Kafka®
    • Работа с топиками и разделами
    • Управление учетными записями Kafka
    • Управление коннекторами
    • Просмотр логов кластера
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
  • Практические руководства
    • Все руководства
    • Поставка данных в Managed Service for ClickHouse
    • Настройка Kafka Connect для работы с Managed Service for Apache Kafka®
    • Поставка данных в ksqlDB
    • Использование схем формата данных с Managed Service for Apache Kafka®
      • Обзор
      • Работа с управляемым реестром схем формата данных
      • Работа с реестром схем формата данных Confluent
    • Миграция данных в Managed Service for Apache Kafka®
    • Поставка данных с помощью Debezium
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Топики и разделы
    • Брокеры
    • Производители и потребители
    • Управление схемами данных
    • Классы хостов
    • Сеть в Managed Service for Apache Kafka®
    • Квоты и лимиты
    • Типы хранилища
    • Коннекторы
    • Техническое обслуживание
    • Настройки Apache Kafka®
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • ConnectorService
      • ResourcePresetService
      • TopicService
      • UserService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listHosts
        • listLogs
        • listOperations
        • move
        • rescheduleMaintenance
        • start
        • stop
        • streamLogs
        • update
      • Connector
        • Overview
        • create
        • delete
        • get
        • list
        • pause
        • resume
        • update
      • ResourcePreset
        • Overview
        • get
        • list
      • Topic
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
  1. Концепции
  2. Управление схемами данных

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

Статья создана
Yandex.Cloud
,
улучшена
AlexElin
  • Как работает реестр схем форматов данных
  • Managed Schema Registry
  • Авторизация в Managed Schema Registry
  • См. также

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

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

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

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

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

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

Производители и потребители используют реестр следующим образом:

  1. Производитель передает схемы форматов данных в реестр.

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

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

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

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

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

Managed Schema Registry

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

Для работы с реестром предоставляется JSON REST API, полностью совместимое с API Confluent Schema Registry. Для выполнения запросов необходима авторизация.

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

  • Avro,
  • JSON Schema,

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

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

Важно

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

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

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

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

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

  1. Если в кластере используются управляемые топики, то:

    • Учетной записи с ролью ACCESS_ROLE_PRODUCER для топика доступны любые операции над субъектами (subjects), связанными с этим топиком.
    • Учетной записи с ролью ACCESS_ROLE_CONSUMER для топика доступны операции чтения над субъектами, связанными с этим топиком.
  2. Если в кластере используются неуправляемые топики, то:

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

Подробнее о ролях см. в разделе Управление учетными записями Apache Kafka®.

См. также

  • Работа с управляемым реестром схем формата данных.
  • Работа с реестром схем формата данных Confluent.

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

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Как работает реестр схем форматов данных
  • Managed Schema Registry
  • Авторизация в Managed Schema Registry
  • См. также