Экспорт (0) Печать
Развернуть все
Развернуть Свернуть

Последовательное соединение сущностей Service Bus с помощью автоматической пересылки

Обновлено: Январь 2014 г.

Функция автопереадресации позволяет привязать подписку или очередь к другой очереди или разделу, который входит в то же пространство имен службы. Когда автопереадресация включена, Служебная шина автоматически удаляет сообщения, размещаемые в первой очереди или подписке (источник), и помещает их во вторую очередь или раздел (место назначения). Обратите внимание, что в сущность назначения по-прежнему можно передать сообщение напрямую. Также отметьте, что невозможно привязать подочередь, например очередь недоставленных сообщений, к другой очереди или разделу.

Чтобы включить автопереадресацию, следует настроить свойство ForwardTo в объектах QueueDescription или SubscriptionDescription источника:

SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));

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

Автопереадресацию можно использовать для масштабного развертывания отдельного раздела. В Служебная шина ограничено количество подписок на определенный раздел. Можно разместить дополнительные подписки, создав разделы второго уровня. Обратите внимание, что даже если вы не связаны ограничением Служебная шина на количество подписок, добавление разделов второго уровня может повысить общую пропускную способность раздела.

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

Если Алиса уйдет в отпуск, ее личная очередь заполнится, в отличие от раздела ERP. Так как торговый представитель не получил ни одного сообщения, в данном сценарии ни одна из разделов ERP не достигнет выделенной квоты.

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

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

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

См. также

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft