Продажи: 1-800-867-1389

Рекомендации по использованию API обмена сообщениями на основе шины обслуживания Azure

Обновлено: Март 2014 г.

Автор: Валерий Мизонов (Valery Mizonov)

Соавторы: Сет Мангейм (Seth Manheim), Паоло Сальватори (Paolo Salvatori), Джеймс Подгорски (James Podgorski), Эрик Лэм (Eric Lam), Жау Катти (Jayu Katti)

В этой статье содержатся практические рекомендации для разработчиков, которые работают с управляемым интерфейсом API .NET для обмена сообщениями через посредника по шине обслуживания Windows Azure. Рекомендации, предоставленные в настоящей статье, подготовлены непосредственно на основе недавних проектов клиентов. При создании реальных решений с помощью Служебная шина мы узнали о нескольких важных подходах и малоизвестных приемах, способствующих повышению надежности и производительности решений, использующих новые возможности обмена сообщениями через посредника в Служебная шина. В этой статьей мы делимся полученным опытом с сообществом разработчиков.

Ретрансляция и обмен сообщениями через посредника

Шина службы Microsoft Azure обеспечивает два комплексных решения для обмена сообщениями. Первое решение доступно через централизованную службу ретрансляции с высокосбалансированной нагрузкой, которая работает в облаке, поддерживающем множество различных транспортных протоколов и стандартов веб-служб, включая SOAP, WS-* и REST. Служба ретрансляции обеспечивает прямой односторонний обмен сообщениями, обмен сообщениями типа «запрос-ответ» и одноранговый обмен сообщениями. Метод, связанный с такого рода решением для обмена сообщениями, называется ретрансляционным обменом сообщениями. При ретрансляционном обмене сообщениями локальная или облачная служба подключается к службе ретрансляции через исходящий порт и создает двунаправленный сокет для связи с конкретным адресом встречи. Клиенту не нужно знать, где расположена служба, а локальная служба не нуждается в открытии каких-либо входящих портов в брандмауэре. Ретрансляционный обмен сообщениями предоставляет множество преимуществ, однако, для того чтобы отправлять и получать сообщения, требуется, чтобы сервер и клиент были в сети в одно и то же время. Ретрансляционный обмен сообщениями был доступен с первого выпуска Служебная шина.

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

Основными компонентами инфраструктуры обмена сообщениями через посредника Служебная шина являются очереди, разделы и подписки. Эти компоненты предоставляют новые асинхронные сценарии обмена сообщениями, такие как временное разъединение, публикация или подписка, выравнивание и балансировка нагрузки. Дополнительные сведения об этих сценариях см. в разделе «Дополнительные ресурсы».

Обзор интерфейса API для обмена сообщениями через посредника

В этом руководстве приведено множество ссылок на различные компоненты, классы и типы, доступные в управляемом интерфейсе API .NET для обмена сообщениями через посредника. Для соответствия контексту перечисляются некоторые ключевые интерфейсы API, которые обеспечивают и поддерживают возможность обмена сообщениями через посредника в Служебная шина.

Следующие классы являются наиболее часто используемыми элементами API из пространств имен Microsoft.ServiceBus и Microsoft.ServiceBus.Messaging, которые часто применяются при разработке решения обмена сообщениями через посредника.

 

Имя класса

Описание

BrokeredMessage

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

QueueClient

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

QueueDescription

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

TopicClient

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

TopicDescription

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

SubscriptionClient

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

SubscriptionDescription

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

NamespaceManager

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

MessagingFactory

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

MessageReceiver

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

MessageSender

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

MessageSession

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

Filter

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

TokenProvider

Представляет собой объект фабрики, который обеспечивает доступ к различным типам поставщиков токенов безопасности, отвечающих за приобретение токенов SAML, Shared Secret и Simple Web.

Рекомендуется ознакомиться с данными артефактами API, чтобы обеспечить хорошую основу для создания первого решения посреднического обмена сообщениями с помощью Служебная шина. Обратите внимание, что здесь представлен неполный список всех классов API интерфейса для посреднического обмена сообщениями. Полный список всех элементов API см. в разделе «Документация MSDN».

Рекомендации по API интерфейсу для обмена сообщениями через посредника

В темах этого раздела приведены конкретные рекомендации, которые были получены на основе практического опыта работы с управляемым интерфейсом API .NET для обмена сообщениями через посредника. Цель этих рекомендаций заключается в том, чтобы привлечь разработчиков к применению методов и шаблонов, описанных в следующих разделах, для обеспечения надежных решений по обмену сообщениями. Этот раздел содержит следующие темы:

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв

Добавления сообщества

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

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