2016-12-23 5 views
0

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

Позвольте сказать, что я создал устройство на концентраторе azure iot. Теперь я отправляю сообщение c2d на это устройство. Если для этого устройства нет приемника. Тогда у него есть возможность сохранить 50 сообщений в очереди. После этого предела. Он отбросит все сообщения c2d, отправленные на него.

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

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

+1

Это не функция, которую вы найдете в ASB. ASB предназначен для потоковой передачи сообщений, а не для хранения (и последующей квоты размера сообщения). –

ответ

0

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

Да, существует ограничение на размер очереди/темы (определяется при создании очереди/темы).

Размер очереди/темы может быть 1, 2, 3, 4 или 5 ГБ. Если включено partitioning , максимальный размер очереди/темы составляет 80 ГБ.

Если вы превысили лимит,

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

Дополнительную информацию можно получить у Service Bus quotas.

0

Я не знаю, как ASB поддерживает именно этот вид квоты из коробки. Я бы рекомендовал подходить к нему по-другому: используйте свойство DefaultMessageTimeToLive в вашей очереди или теме (если они созданы). Это позволит вам автоматически отказаться от старых устаревших сообщений, которые не были обработаны вовремя. Или вы можете установить TimeToLive на BrokeredMessage на отдельные сообщения.

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