2016-05-20 8 views
1

Итак, я использую EventHubs для очереди данных, но для того, чтобы получить выгоду от буферизированного проглатывания, мне нужно знать, сколько элементов находится в разделе в любой момент времени. В зависимости от группы потребителей и идентификатора раздела это может дать огромное представление о том, какие приемники необходимо масштабировать или не выполнять, как ожидалось.Получить счетчик предметов для Azure EventHub

Я знаю, что вы можете создавать оповещения на основе количества сообщений, но то, что я действительно хочу, - это возможность запрашивать текущее количество элементов данного пространства имен, EventHub, группы потребителей или раздела (независимо от того, что доступно) изнутри мой код C#.

Я вижу, что вы можете легко получить размер очереди в байтах с использованием .NET ServiceBus API, но я не вижу способа получить счетчик элементов?

+0

Похоже, то, о чем вы на самом деле просите, это способ рассказать о потребительском отставании различных разделов (или, по крайней мере, это то, что обычно требуется). Это «сколько предметов является данным потребителем в каждом разделе». Я бы предложил задать еще один вопрос, хотя я еще не написал этот очень необходимый код. Это обычная вещь для мониторинга с Apache Kafka. – cacsar

ответ

1

Согласно Event Hubs REST API, невозможно получить количество сообщений в Event Hub для получения точного момента. Вы можете попытаться воспроизвести количество входящих сообщений и количество исходящих сообщений или получить размер сообщений в концентраторе, если вы знаете хотя бы ок. размер (и разделите на это).

+0

Странно, я смотрел видео с Build 2016 на прошлой неделе, где они продавали Event Hubs для буферизованного проглатывания, заявив, что вы можете контролировать размер очередей - размер файла в очереди не дает вам указания на размер элемента если у вас нет соответствующих размеров полезной нагрузки: -/ – tommed

+1

Цитата: «Однако, в отличие от очередей, в Azure Event Hubs нет понятия длины очереди, потому что данные обрабатываются как поток». https://blogs.msdn.microsoft.com/kaevans/2015/02/24/scaling-azure-event-hubs-processing-with-worker-roles/ – tommed