M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Освоение Azure Event Hubs: разделы, группы потребителей и масштабирование

By ·

Добро пожаловать обратно в наше продолжающееся исследование облачной архитектуры и инженерии данных в реальном времени. В мире современных корпоративных приложений объём данных, которые генерируют пользователи, IoT-устройства, микросервисы и агрегаторы логов, поражает воображение. Организациям уже недостаточно просто сохранять данные для пакетной обработки за ночь; им нужна полезная аналитика прям

Automatically translated with AI from the original post. Read the English original

Cover: Azure Event Hubs - Simply Explained

Добро пожаловать обратно в наше продолжающееся исследование облачной архитектуры и инженерии данных в реальном времени. В мире современных корпоративных приложений объём данных, которые генерируют пользователи, IoT-устройства, микросервисы и агрегаторы логов, поражает воображение. Организациям уже недостаточно просто сохранять данные для пакетной обработки за ночь; им нужна полезная аналитика прямо сейчас. Чтобы удовлетворить этот спрос, облачные архитекторы обращаются к надёжным платформам потоковой передачи событий. Если вы создаёте решения в экосистеме Microsoft Azure, Azure Event Hubs выделяется как ведущий полностью управляемый сервис для масштабируемого приёма данных.

В этом подробном руководстве мы глубоко разберём ключевые архитектурные компоненты, благодаря которым работает Azure Event Hubs. Мы расскажем, как разделы обеспечивают массивную параллельную обработку, рассмотрим, как группы потребителей позволяют нескольким приложениям читать один и тот же поток, не мешая друг другу, и разберём стратегии масштабирования, такие как единицы пропускной способности и автоувеличение. Независимо от того, создаёте ли вы систему обнаружения финансового мошенничества или глобальный конвейер телеметрии, понимание этих базовых концепций критически важно для успеха.

Если вы предпочитаете слушать, обязательно ознакомьтесь с нашим связанным эпизодом подкаста Azure Event Hubs - Simply Explained, где мы простым и понятным языком разбираем эти архитектурные паттерны.

Введение в архитектуру Azure Event Hubs

По своей сути Azure Event Hubs задуман как масштабируемый движок приёма событий. Он способен принимать и обрабатывать миллионы событий в секунду с минимальной задержкой и служит входной точкой для конвейеров больших данных в облаке. Представьте его как огромный, хорошо организованный паркинг для пакетов данных. Производители, такие как мобильные приложения, серверные логи или датчики на заводе, помещают свою полезную нагрузку в хаб, а потребители, такие как Azure Stream Analytics, Azure Functions или собственные рабочие сервисы, забирают её для обработки.

В отличие от традиционных очередей сообщений, которые хранят сообщения до тех пор, пока отдельный потребитель их не подтвердит (после чего сообщение удаляется), Azure Event Hubs работает по модели потока. Данные добавляются в неизменяемый журнал. Это означает, что несколько последующих систем могут независимо читать один и тот же поток данных в своём темпе, не лишая других читателей данных. Чтобы справляться с огромной скоростью современных нагрузок, Event Hubs опирается на распределённую архитектуру, построенную вокруг двух фундаментальных концепций: разделов и групп потребителей.

Понимание разделов для параллельной обработки

Если вы хотите добиться высокой пропускной способности, нельзя пропускать все входящие данные через единое узкое место обработки. Здесь на сцену выходят разделы. Раздел — это, по сути, отдельная последовательность событий, хранящаяся внутри концентратора событий. При создании концентратора необходимо указать количество разделов, которое для стандартных уровней обычно составляет от 2 до 32, хотя для выделенных сред доступны гораздо большие лимиты.

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

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

Использование групп потребителей для независимого потребления данных

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

Azure Event Hubs решает эту задачу с помощью групп потребителей. Группа потребителей представляет собой полное представление всего концентратора событий. Она действует как курсор или сборщик закладок. Создавая несколько групп потребителей, несколько приложений-потребителей могут одновременно и независимо читать поток событий от начала до конца.

Поскольку каждая группа потребителей ведёт собственное смещение — или указатель, — показывающее, какие события уже прочитаны, приложение-потребитель A может обрабатывать события в реальном времени, в то время как приложение-потребитель B может отставать или воспроизводить исторические данные за более ранний период дня, не мешая друг другу. Именно такое разделение производителей и потребителей делает Event Hubs таким универсальным интеграционным узлом для современных корпоративных архитектур.

Стратегии масштабирования: единицы пропускной способности, процессорные единицы и автоинфляция

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

Для уровня Standard ёмкость измеряется в единицах пропускной способности (Throughput Units, TU). Одна единица пропускной способности обеспечивает входящий трафик 1 МБ/с и исходящий трафик 2 МБ/с, а также до 1 000 входящих событий в секунду на одну TU. Если трафик резко возрастает, ручное масштабирование может быть утомительным и подверженным человеческим ошибкам. К счастью, Event Hubs содержит встроенную функцию автоматического масштабирования под названием Auto-Inflate.

Когда Auto-Inflate включён, Azure автоматически увеличивает количество единиц пропускной способности в зависимости от нагрузки, предотвращая троттлинг и гарантируя, что ваш конвейер приёма данных никогда не потеряет пакеты во время непредвиденных всплесков. Для организаций, которым требуются выделенные изолированные вычислительные ресурсы с гарантиями предсказуемой производительности, уровни Premium и Dedicated вводят процессорные единицы (Processing Units, PU), которые обеспечивают более высокие лимиты, отсутствие влияния соседних нагрузок (noisy neighbor) и корпоративный уровень изоляции.

Надёжность данных, хранение и аварийное восстановление

При работе с высокоскоростной телеметрией и критически важными бизнес-журналами потеря данных просто недопустима. Azure Event Hubs включает надёжные механизмы, гарантирующие долговечность данных и высокую доступность.

Данные, записанные в Event Hubs, по умолчанию реплицируются между несколькими доменами отказа внутри региона Azure. Кроме того, уровень Standard хранит данные до 7 дней, а уровни Premium и Dedicated продлевают срок хранения до 90 дней. Это окно хранения позволяет приложениям восстанавливаться после длительных сбоев, воспроизводя данные с определённого момента времени.

Для критически важных приложений, которым требуется защита от региональных сбоев, Azure предоставляет функции Geo-Disaster Recovery и георепликации. Связывая основное пространство имён с вторичным в парном регионе Azure, организации могут быстро переключать конвейеры данных на резервную инфраструктуру в случае катастрофы, соответствуя жёстким целевым показателям времени восстановления (RTO) и точки восстановления (RPO).

Сравнение Azure Event Hubs, Service Bus и Apache Kafka

Архитекторы часто затрудняются выбрать подходящий сервис обмена сообщениями в Azure, поскольку портфолио включает несколько мощных вариантов. Чтобы сделать правильный выбор, полезно понять, как Event Hubs соотносится с Azure Service Bus и Apache Kafka.

Azure Service Bus создан для корпоративных шаблонов обмена сообщениями и ориентирован на надёжные гарантии, такие как транзакции, dead-lettering, сессии и сложная маршрутизация по схеме pub/sub для относительно умеренных объёмов данных. В отличие от него, Azure Event Hubs предназначен для приёма огромных объёмов телеметрии и потоковой обработки с высокой пропускной способностью. Если вам нужно обрабатывать миллионы лёгких событий в секунду, Event Hubs окажется значительно более экономичным и производительным, чем Service Bus.

По сравнению с открытым Apache Kafka у Azure Event Hubs есть заметное операционное преимущество: это полностью управляемый сервис. Вам не нужно управлять кластерами, настраивать Zookeeper или заниматься обновлением ОС. Event Hubs даже предоставляет конечную точку, совместимую с Kafka, что позволяет существующим приложениям на Kafka подключаться к Azure Event Hubs с минимальными изменениями кода. Так вы получаете лучшее из двух миров.

Лучшие практики проектирования надёжных потоковых конвейеров

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

  • Тщательно планируйте количество разделов: Помните, что количество единиц пропускной способности можно масштабировать динамически, а количество разделов фиксируется при создании event hub. Выбирайте число разделов с запасом на будущий рост, но без лишних издержек на координацию.
  • Выбирайте правильные ключи секционирования: Используйте осмысленные ключи секционирования, чтобы данные равномерно распределялись по разделам и не возникали «горячие разделы», когда один ключ монополизирует ресурсы.
  • Реализуйте надёжную обработку ошибок: Встраивайте в приложения-потребители политики повторных попыток и механизмы очередей недоставленных сообщений, чтобы корректно обрабатывать «ядовитые» сообщения и временные сбои сети.
  • Следите за регулированием: Используйте Azure Monitor для отслеживания метрик, таких как входящие запросы, запросы с регулированием и состояние разделов, чтобы приложение оставалось в пределах выделенных лимитов.

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


В этой статье мы рассмотрели базовую архитектуру Azure Event Hubs: как разделы обеспечивают параллельную обработку, как группы потребителей изолируют независимые нагрузки и как механизмы автомасштабирования помогают вашим приложениям стабильно работать под нагрузкой. Чтобы начать, создайте пространство имён Event Hubs на портале Azure, настройте первую группу потребителей и подключите обработчик потока.

Чтобы глубже разобраться в теме и послушать реальные обсуждения, обязательно послушайте наш подкаст: Azure Event Hubs - Simply Explained. Используйте возможности потоковой передачи данных в реальном времени и уже сегодня преобразуйте процессы инженерии данных в своей организации! 🚀

Часто задаваемые вопросы

Что такое Azure Event Hubs?

Azure Event Hubs — это полностью управляемая платформа потоковой передачи событий с высокой пропускной способностью. Она способна принимать и обрабатывать миллионы событий в секунду с низкой задержкой, что делает её идеальной для современных конвейеров данных реального времени.

Как работают разделы в Azure Event Hubs?

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

В чём разница между Event Hub и группой потребителей?

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

Можно ли масштабировать Azure Event Hubs автоматически?

Да. Включив функцию Auto-Inflate для пространств имён уровня Standard, Azure автоматически увеличивает выделенное количество единиц пропускной способности по мере роста нагрузки, предотвращая регулирование производительности.

Как долго данные хранятся в Azure Event Hubs?

Срок хранения данных зависит от вашего ценового уровня. Уровень Standard хранит данные до 7 дней, тогда как уровни Premium и Dedicated позволяют хранить данные до 90 дней.

Совместим ли Azure Event Hubs с Apache Kafka?

Да. Azure Event Hubs предоставляет конечную точку, нативно совместимую с Kafka, что позволяет существующим клиентским приложениям и инструментам Apache Kafka взаимодействовать с Event Hubs без переписывания кодовой базы.


🎧 Послушайте этот выпуск

Хотите практичное объяснение Azure Event Hubs в формате устного рассказа? В этом выпуске архитектура разобрана понятным языком, и показано, почему это важно для современной облачной разработки, корпоративной аналитики и масштабируемых приложений.

Послушайте этот выпуск, если хотите:

  • Разберитесь в основных принципах работы разделов (partitions) и масштабирования Azure Event Hubs
  • Узнайте, как потоковые архитектуры вписываются в более широкую экосистему Microsoft Azure
  • Выясните, где потоковая обработка событий создает практическую бизнес-ценность для вашей организации

Вам также могут понравиться эти связанные эпизоды M365 FM:

Больше практических разговоров об облаке и Microsoft на M365 FM.

Последняя проверка: июль 2026.

Кому стоит послушать

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

🎧 Вам также стоит послушать

  • Azure Event Grid — практический следующий шаг для знакомства с реактивным облачным обменом сообщениями.
  • Azure Service Bus — когда использовать очереди сообщений, а когда потоки событий.
  • Azure Functions — как обрабатывать потоки событий в бессерверном стиле.

Entities in this article

Azure Event Hubs Apache Kafka Telemetry Microsoft Azure Azure Service Bus Microservices Throttling Azure Functions Azure Stream Analytics Dead-lettering

Related articles

RSS