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

Очереди шины обслуживания

Обновлено: Апрель 2014 г.

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

Очереди размещаются в Azure в реплицированной и надежной инфраструктуре. Максимальный размер очереди — 5 ГБ. Максимальный размер сообщения равен 256 КБ, однако сеансы позволяют создавать безразмерные последовательности связанных сообщений. Доступ к очередям осуществляется с помощью следующих приложений:

  1. Новый API-интерфейс обмена сообщениями через новую сборку Microsoft.ServiceBus.Messaging

  2. Windows Communication Foundation (WCF) через новый класс NetMessagingBinding.

  3. Service Bus REST API.

Сущности очередей дают следующие возможности.

  1. Корреляция на основе сеанса, которая позволяет легко строить мультиплексные пути запросов и ответов.

  2. Надежные схемы доставки с использованием режима получения PeekLock.

  3. Поддержка транзакций, обеспечивающих атомарную фиксацию пакетов операций обмена сообщениями.

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

  5. Блокирование сообщений, которые не могут быть обработаны или срок которых истекает до получения.

  6. Откладывание сообщений для последующей обработки. Эта функциональность особенно полезна в следующих случаях:

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

    2. Когда сообщения должны обрабатываться согласно набору свойств, определяющих приоритет в период всплесков трафика.

В API-интерфейсе .NET сущность сообщения моделируется классом BrokeredMessage, который обладает различными свойствами, в том числе MessageId, SessionID и CorrelationId. Эти свойства можно использовать, например, для автоматического обнаружения повторяющихся сообщений или связи внутри сеанса. Объект QueueDescription используется для указания метаданных, которые моделируют поведение создаваемой очереди.

  1. Свойство DefaultMessageTimeToLive указывает реальное значение сообщения по умолчанию.

  2. Свойство DuplicateDetectionHistoryTimeWindow определяет длительность истории выявления повторяющихся сообщений.

  3. Свойство EnableDeadLetteringOnMessageExpiration позволяет включить или отключить перемещение в «мертвую» очередь по истечении срока сообщения.

  4. Свойство LockDuration определяет продолжительность блокирования, которая используется клиентом в режиме получения PeekLock. В режиме получения ReceiveAndDelete сообщение удаляется из очереди сразу после прочтения клиентом. И наоборот, в режиме получения PeekLock сообщение недоступно другим получателям до истечения срока, указанного свойством LockDuration. К этому времени получатель должен удалить сообщение путем вызова метода Complete для объекта BrokeredMessage.

  5. Свойство MaxSizeInMegabytes определяет максимальный размер очереди в мегабайтах.

  6. Свойство RequiresDuplicateDetection включает или выключает выявление повторяющихся сообщений. Свойство RequiresSession включает или выключает сеансы.

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

WarningПредупреждение
Вы можете изменить часть этих свойств с помощью API UpdateQueue или UpdateTopic, а также с помощью вызовов PowerShell и командной строки (в случае Шина обслуживания для Windows Server).

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

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

См. также

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

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