2016-07-28 4 views
0

У меня есть процесс (процесс A), который отправляет события в тему ASB. Существует несколько потребителей темы и, следовательно, несколько подписей. Поэтому давайте скажем, что один из процессов потребителя не работает. И из-за этого тема заполняется, поскольку сообщения не расходуются. Означает ли это, что процесс А также терпит неудачу, поскольку он не может отправлять сообщения в тему ASB как полностью заполненную?Azure service bus - Topic full

ответ

0

Я думаю, что вы правы, как только предел достигнут, очередь останавливается.

Однако, с разбиением (используя все 16 разделов * 5 ГБ), вы можете хранить до 80 ГБ: https://azure.microsoft.com/en-us/blog/partitioned-service-bus-queues-and-topics/

Другим решением является использование автоматической переадресации, поэтому тема направляет все сообщения в другую очередь/тема https://azure.microsoft.com/en-us/documentation/articles/service-bus-auto-forwarding/ Таким образом, каждый абонент может иметь его собственную очередь 5ГБ (или 80GB, если вы используете раздел)

Некоторые подробнее: https://azure.microsoft.com/nl-nl/documentation/articles/service-bus-azure-and-service-bus-queues-compared-contrasted/ https://azure.microsoft.com/en-us/documentation/articles/service-bus-quotas/

1

Еще две вещи, чтобы проверить:

  1. Убедитесь, что мертвые очереди письмо не является полным, что рассчитывает к размеру объекта.
  2. Убедитесь, что у вас есть хотя бы одна подписка, которая работает для каждого сообщения. Например, если вы отправляете сообщение с ID = 1, но у вас есть только подписка с ID = 2, сообщения будут скопированы.