Создание концентратора событий с помощью Azure CLI
Ваша команда принимает решение использовать возможности Центры событий Azure для управления и обработки растущих объемов транзакций, поступающих через систему.
Концентратор событий — это ресурс Azure, поэтому первым шагом является создание нового концентратора событий в Azure и его настройка в соответствии с конкретными требованиями приложений.
Что такое Центры событий Azure?
Центы событий Azure — это облачная служба обработки событий, способная принимать и обрабатывать миллионы событий в секунду. Центры событий действуют в качестве передней двери для конвейера событий, он получает входящие данные и сохраняет эти данные до тех пор, пока не будут доступны ресурсы обработки.
Сущность, которая отправляет данные в концентраторы событий, называется издателем, а сущность, которая считывает данные из концентраторов событий, — получателем или подписчиком. Центр событий находится между издателем и подписчиком, чтобы разделить рабочую среду (от издателя) и потребление (на подписчик) потока данных событий. Это разделение помогает управлять сценариями, в которых скорость производства событий значительно выше, чем потребление. На следующем рисунке показан поток концентратора событий.
События
Событие — это небольшой фрагмент данных (датаграмма), который содержит уведомление. События могут публиковаться по отдельности или пакетами, но общий объем одной публикации (отдельной или пакетной) не может превышать 1 МБ.
Издатели и подписчики
Издателем событий может быть любое приложение или устройство, которое может передавать данные о событиях по протоколам HTTPS и AMQP (Расширенный протокол управления очередью сообщений) версии 1.0 или с помощью Apache Kafka.
- Если издатель отправляет данные часто, протокол AMQP обеспечит более высокую производительность. Но зато его использование влечет более высокие затраты на исходное создание сеанса, так как для него требуется настройка двунаправленного сокета и безопасности на уровне транспорта (SSL/TLS).
- Для менее частых публикаций лучше выбрать HTTPS. Хотя использование HTTPS сопряжено с дополнительными затратами для каждого запроса, дополнительных затрат на инициализацию сеанса не требуется.
- Служба "Центры событий" предоставляет конечную точку, совместимую с интерфейсами API Apache Kafka производителя и потребителя, которые могут использоваться большинством существующих клиентских приложений Apache Kafka в качестве альтернативы запуску собственного кластера Apache Kafka. Концентраторы событий поддерживают клиентские API-интерфейсы производителя и потребителя Apache Kafka версии 1.0 и более поздних. Дополнительные сведения см. в разделе Центры событий для Apache Kafka.
Подписчиками на события являются приложения, которые используют один из двух поддерживаемых программных методов для получения и обработки событий из концентратора событий.
- EventHubReceiver — простой метод с ограниченными возможностями управления.
- EventProcessorHost — эффективный метод, используемый далее в этом модуле.
Группы получателей
Группа потребителей концентратора событий получает определенное представление потока данных, поступающего в этот концентратор. При использовании отдельных групп потребителей несколько подписчиков могут обрабатывать поток данных событий независимо и не влияя на другие приложения. Однако использование нескольких групп потребителей не является обязательным. Во многих сценариях достаточно одной группы потребителей по умолчанию.
Цены
Существуют четыре ценовые категории для Центров событий Azure: "Базовый", "Стандартный", "Премиум" и "Выделенный". Эти уровни отличаются числом поддерживаемых подключений, числом доступных групп потребителей и пропускной способностью. При использовании Azure CLI для создания пространства имен Центров событий, если вы не указываете ценовой уровень, назначается версия Стандарт (20 групп потребителей, 1000 подключений брокеров). Основные различия между этими категориями описаны на странице Центры событий Azure — цены.
Создание и настройка концентратора событий
Создание нового концентратора событий состоит из двух основных этапов. Первый шаг — определение пространства имен концентраторов событий. Второй шаг — создание в этом пространстве имен концентратора событий.
Создание пространства имен концентраторов событий
Пространство имен концентраторов событий — это контейнер, который содержит один или несколько концентраторов событий для совместного управления. Создание пространства имен концентраторов событий обычно включает следующую настройку.
Определение параметров на уровне пространства имен
Емкость пространства имен (настраивается в единицах пропускной способности для стандартного уровня), ценовая категория и метрики производительности определяются на уровне пространства имен. Эти параметры применяются ко всем концентраторам событий в этом пространстве имен. Если эти параметры не определены, используется значение по умолчанию: 1
для емкости и Standard
ценовой категории.
Учитывайте следующее.
Не забудьте сопоставить настроенную конфигурацию с ожидаемым бюджетом на службы Azure.
Иногда полезно настроить несколько концентраторов событий для разных уровней пропускной способности. Например, предположим, что у вас есть приложение для работы с данными о продажах и вы планируете использовать два концентратора событий. В таком случае имеет смысл настроить для каждого концентратора отдельное пространство имен.
Вы настраиваете одно пространство имен для сбора данных о продажах в режиме реального времени и одного пространства имен для редкой коллекции журналов событий. Таким образом, необходимо настроить (и заплатить) высокую пропускную способность в концентраторе данных продаж в режиме реального времени.
Выберите уникальное имя для пространства имен. К пространству имен можно обращаться по URL-адресу: пространство_имен.servicebus.windows.net
Определите следующие необязательные свойства:
Настройте избыточность в пределах зоны для пространства имен. Избыточность между зонами реплицирует данные в отдельных центрах обработки данных, которые имеют независимые инфраструктуры питания, сети и охлаждения.
Включите автоматическое масштабирование единиц пропускной способности (стандартный уровень). Autoinflate предоставляет параметр автоматического масштабирования, увеличив количество единиц пропускной способности до максимального значения. Этот вариант позволяет избежать регулирования в тех случаях, когда входящая или исходящая скорость передачи данных превышает настроенное число единиц пропускной способности.
Команды Azure CLI для создания пространства имен концентраторов событий
Чтобы создать пространство имен концентраторов событий, используйте команды az eventhubs namespace
. Ниже приведено краткое описание команд, которые мы используем в упражнении.
Команда | Description |
---|---|
create |
Создает пространство имен Центров событий. |
authorization-rule |
Все концентраторы событий в одном пространстве имен совместно используют одинаковые учетные данные для подключения. Эти учетные данные требуются при настройке приложений для отправки и получения сообщений с помощью концентратора событий. Эта команда возвращает строку подключения для пространства имен концентраторов событий. |
Настройка нового концентратора событий
Завершив создание пространства имен концентраторов событий, вы можете создать концентратор событий. При создании концентратора событий существует несколько обязательных параметров.
Для создания концентратора событий укажите следующие обязательные параметры:
-
Имя концентратора событий — уникальное имя концентратора событий в подписке и:
- длина от 1 до 50 символов;
- содержит только буквы, цифры, точки, дефисы и знаки подчеркивания;
- начинается с буквы или цифры и заканчивается буквой или цифрой.
- Число разделов, которые нужно создать в концентраторе событий (от 2 до 32 для стандартного уровня). Число секций должно быть напрямую связано с ожидаемым числом одновременных потребителей и не может быть изменено после создания концентратора. Эти разделы разделяют поток входящих сообщений, чтобы приложениям-потребителям или приложениям-получателям нужно было считывать только определенную часть данных. Если значение не указано, по умолчанию используется значение 4.
- Хранение сообщений — количество дней (от 1 до 7 для стандартного уровня), которое сообщения остаются доступными, если поток данных должен воспроизводиться по какой-либо причине. Если значение не указано, по умолчанию используется значение 7.
При желании вы можете настроить в концентраторе событий потоковую передачу данных в хранилище BLOB-объектов Azure или учетную запись Azure Data Lake Store.
Команды Azure CLI для создания концентратора событий
Чтобы создать концентратор событий с помощью Azure CLI, выполните az eventhubs eventhub
набор команд. Ниже приведено краткое описание команд, которые мы используем в упражнении.
Команда | Description |
---|---|
create |
Создает концентратор событий в указанном пространстве имен. |
show |
Отображает сведения о концентраторе событий. |
Примечание.
Квоты и ограничения для разных ценовых категорий концентраторов событий см. в статье Квоты и ограничения Центров событий Azure.
Итоги
Чтобы развернуть концентраторы событий Azure, сначала необходимо настроить пространство имен концентраторов событий, а затем концентратор событий. В следующем уроке вы выполните подробные действия по созданию нового пространства имен и концентратора событий.