Поделиться через


Реестр схем в Центры событий Azure

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

Реестр схем в Центры событий Azure выполняет несколько ролей в сценариях потоковой передачи событий на основе схемы .

  • Предоставляет репозиторий, в котором можно зарегистрировать, управлять и развиваться несколькими схемами.
  • Эволюция управляемой схемы с несколькими правилами совместимости.
  • Выполняет проверку данных для всех схемизованных данных.
  • Предоставляет клиентские библиотеки (сериализаторы и десериализаторы) для производителей и потребителей.
  • Повышает эффективность пропускной способности сети путем передачи идентификатора схемы вместо определения схемы для каждой полезных данных.

Примечание.

Реестр схем поддерживается на уровнях "Стандартный", "Премиум" и "Выделенный".

Компоненты реестра схем

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

Схема с компонентами реестра схем в Центры событий Azure.

Схемы

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

Определение схемы включает в себя :

  • Поля — имя отдельных элементов данных (то есть имя и фамилия, название книги, адрес).
  • Типы данных — тип данных, которые могут храниться в каждом поле (например, строка, дата и время, массив).
  • Структура — организация различных полей (то есть вложенных структур или массивов).

Схемы определяют контракт между производителями и потребителями. Схема, определенная в реестре схем Центров событий, помогает управлять контрактом за пределами данных событий, избавляя от служебных данных в полезных данных.

Форматы схемы

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

Схема Avro

Avro — это популярная система сериализации данных, которая использует компактный двоичный формат и предоставляет возможности эволюции схемы.

Дополнительные сведения об использовании формата схемы Avro с реестром схем Центров событий см. в следующей статье:

Схема JSON

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

Дополнительные сведения об использовании формата схемы JSON с реестром схем Центров событий см. в следующей статье:

Protobuf

Буферы протокола — это нейтральный язык, нейтральная платформа, расширяемый механизм сериализации структурированных данных. Он используется для эффективного определения структур данных и сериализации их в компактный двоичный формат.

Группы схем

Группы схем — это логические группы аналогичных схем на основе ваших бизнес-критериев. Группа схем содержит

  • определение нескольких схем,
  • несколько версий конкретной схемы и
  • метаданные относительно типа схемы и совместимости для всех схем в группе.

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

Развитие схемы

Схемы развиваются с учетом бизнес-требований производителей и получателей. Реестр схем Azure поддерживает возможность эволюции схем с помощью режимов совместимости на уровне групп схем. При создании группы схем можно указать режим совместимости включенных в нее схем. Любое изменение схемы должно соответствовать назначенному ей режиму совместимости; в случае такого соответствия создается новая версия схемы.

Примечание.

Эволюция схемы поддерживается только для формата схемы Avro.

Реестр схем Azure для Центров событий поддерживает перечисленные ниже режимы совместимости.

обратная совместимость

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

  • Удаление полей.
  • Добавлять необязательные поля

Прямая совместимость

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

  • Добавьте поля
  • Удалять необязательные поля

Без совместимости

Если выбран режим совместимости None, реестр схем не проверяет совместимость при обновлении схем.

Клиентские пакеты SDK

Вы можете использовать одну из следующих библиотек, чтобы включить сериализатор Avro. Этот сериализатор можно применять для сериализации и десериализации полезных данных, содержащих идентификаторы схем в Реестре схем и данные в формате Avro.

Ограничения

Ограничения (например, количество групп схем в пространстве имен) центров событий см. в разделе "Квоты центров событий" и ограничения.

Управление доступом на основе ролей Azure

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

  1. Регистрация приложения в идентификаторе Microsoft Entra
  2. Добавьте субъект безопасности приложения в одну из следующих ролей Управления доступом на основе ролей Azure на уровне пространства имен.
Роль Описание
Ответственный Чтение, запись и удаление групп и схем реестра схем.
Участник Чтение, запись и удаление групп и схем реестра схем.
Читатель реестра схем Чтение и перечисление групп и схем в реестре схем.
Участник реестра схем Чтение, запись и удаление групп и схем реестра схем.

Инструкции по созданию приложения с помощью портал Azure см. в разделе "Регистрация приложения с помощью идентификатора Microsoft Entra". Запишите идентификатор клиента (идентификатор приложения), идентификатор арендатора и секрет для использования их в коде.

Следующие шаги