Как читать сообщения из темы, используя несколько подписчиков одновременно? - PullRequest
0 голосов
/ 06 марта 2019

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

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

Я написал эту строку в своем коде после сообщения о процессе из темы

await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);

Я следовал этой документации для реализации вышеуказанного сценария.

Итак, кто-нибудь может подсказать мне, как читать сообщения из темы, используя несколько подписчиков одновременно.

1 Ответ

0 голосов
/ 06 марта 2019

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

Либо возникает ошибка логики обработки, и сообщение повторяется до тех пор, пока оно не будет перемещено в очередь недоставленных сообщений, или для MaxDeliveryCount задана одна попытка обработки. В любом случае, проверьте заголовки / свойства DeadLetterReason и DeadLetterErrorDescription, чтобы выяснить причину, по которой сообщение было перемещено в очередь недоставленных сообщений.

Может кто-нибудь предложить мне, как читать сообщения из темы, используя несколько подписчиков одновременно.

Azure Service Bus поддерживает шаблон конкурирующего потребителя , вам не нужно делать ничего особенного.

...