06/09/2012

Ревенков Павел
EPAM Cloud Computing Competence Center

pavlo_revenkov@epam.com

WINDOWS AZURE SERVICE BUS
ОБМЕН СООБЩЕНИЯМИ
                                           Worker-роль
      Web-роль
                         Очередь           Worker-роль
      Web-роль
                                           Worker-роль



                              Очередь #1          Worker-роль
Web-роль


Web-роль
                 Topic             …              Worker-роль

                              Очередь #N
                                                  Worker-роль
СРАВНЕНИЕ
       Windows Azure                    Windows Azure
          Queues                      Service Bus Queues
• Размер сообщения до              • Размер сообщения до
       64 Кб                              256 Кб

• Размер очереди ограничен         • Размер очереди не может
  размером Storage Account           превышать
       100 ТБ                             5 ГБ

• Механизм обмена сообщениями:     • Механизм обмена сообщениями:
       one-to-one                         Publish/Subscriber

• Время жизни сообщения:           • Время жизни сообщения:
       До 7 дней                          Более 7 дней

• Обновление сообщения «на лету»   • Сообщение не изменяется
УПРАВЛЕНИЕ
   URI вида:
       sb://<namespace>.servicebus.windows.net/

                             Namespace Manager
        Управление

             Queues                 Topics               Subscriptions




                          Send                 Receive
ПРИНЦИП РАБОТЫ
var namespaceManager =
  NamespaceManager.CreateFromConnectionString(
    CloudConfigurationManager.GetSetting(connectionString));
if (!namespaceManager.SubscriptionExists(path))
    namespaceManager.CreateSubscription(new SubscriptionDescription(path));

var subscriptionClient = Microsoft.ServiceBus.Messaging.SubscriptionClient
  .CreateFromConnectionString(...);
var message = subscriptionClient.Receive();
try
{
  ...
  message.Complete();
}
catch (Exception)
{
  message.Abandon();
}
SERVICE BUS RELAY



                               Рабочая роль

                    Веб-роль




WCF-сервис




                                Клиент
НАСТРОЙКА
    Вся настройка сводится к правке .config файла!
    <extensions>
      <bindingExtensions>
        <add name=“netTcpRelayBinding”
             type=“Microsoft...NetTcpRelayBindingCollectionElement” />
      ...
      <behaviorExtensions>
        <add name=“transportClientEndpointBehavior”
             type=“Microsoft...TransportClientEndpointBehaviorElement” />
      ...
    <behavior name=“sbTokenProvider”>
      <transportClientEndpointBehavior>
        <tokenProvider>
          <sharedSecret issuerName=“[NAME]” issuerSecret=“[KEY]” />
        ...
    <endpoint contract=“<contractname>”
              binding=“netTcpRelayBinding”
              address=“sb://<namespace>.servicebus.windows.net/<servicename>”
              behaviorConfiguration=“sbTokenProvider” />
ССЫЛКИ И МАТЕРИАЛЫ
How to Use the Service Bus
      https://www.windowsazure.com/en-us/develop/net/how-to-
       guides/service-bus-queues/
      https://www.windowsazure.com/en-us/develop/net/how-to-
       guides/service-bus-topics/
Hybrid Application Using Service Bus Relay
      https://www.windowsazure.com/en-
       us/develop/net/tutorials/hybrid-solution/
Windows Azure Queues and Windows Azure Service Bus
Queues - Compared and Contrasted
      http://msdn.microsoft.com/en-
       us/library/windowsazure/hh767287.aspx
QUESTIONS?

Windows Azure Service Bus

  • 1.
    06/09/2012 Ревенков Павел EPAM CloudComputing Competence Center pavlo_revenkov@epam.com WINDOWS AZURE SERVICE BUS
  • 2.
    ОБМЕН СООБЩЕНИЯМИ Worker-роль Web-роль Очередь Worker-роль Web-роль Worker-роль Очередь #1 Worker-роль Web-роль Web-роль Topic … Worker-роль Очередь #N Worker-роль
  • 3.
    СРАВНЕНИЕ Windows Azure Windows Azure Queues Service Bus Queues • Размер сообщения до • Размер сообщения до 64 Кб 256 Кб • Размер очереди ограничен • Размер очереди не может размером Storage Account превышать 100 ТБ 5 ГБ • Механизм обмена сообщениями: • Механизм обмена сообщениями: one-to-one Publish/Subscriber • Время жизни сообщения: • Время жизни сообщения: До 7 дней Более 7 дней • Обновление сообщения «на лету» • Сообщение не изменяется
  • 4.
    УПРАВЛЕНИЕ  URI вида:  sb://<namespace>.servicebus.windows.net/ Namespace Manager Управление Queues Topics Subscriptions Send Receive
  • 5.
    ПРИНЦИП РАБОТЫ var namespaceManager= NamespaceManager.CreateFromConnectionString( CloudConfigurationManager.GetSetting(connectionString)); if (!namespaceManager.SubscriptionExists(path)) namespaceManager.CreateSubscription(new SubscriptionDescription(path)); var subscriptionClient = Microsoft.ServiceBus.Messaging.SubscriptionClient .CreateFromConnectionString(...); var message = subscriptionClient.Receive(); try { ... message.Complete(); } catch (Exception) { message.Abandon(); }
  • 6.
    SERVICE BUS RELAY Рабочая роль Веб-роль WCF-сервис Клиент
  • 7.
    НАСТРОЙКА  Вся настройка сводится к правке .config файла! <extensions> <bindingExtensions> <add name=“netTcpRelayBinding” type=“Microsoft...NetTcpRelayBindingCollectionElement” /> ... <behaviorExtensions> <add name=“transportClientEndpointBehavior” type=“Microsoft...TransportClientEndpointBehaviorElement” /> ... <behavior name=“sbTokenProvider”> <transportClientEndpointBehavior> <tokenProvider> <sharedSecret issuerName=“[NAME]” issuerSecret=“[KEY]” /> ... <endpoint contract=“<contractname>” binding=“netTcpRelayBinding” address=“sb://<namespace>.servicebus.windows.net/<servicename>” behaviorConfiguration=“sbTokenProvider” />
  • 8.
    ССЫЛКИ И МАТЕРИАЛЫ Howto Use the Service Bus  https://www.windowsazure.com/en-us/develop/net/how-to- guides/service-bus-queues/  https://www.windowsazure.com/en-us/develop/net/how-to- guides/service-bus-topics/ Hybrid Application Using Service Bus Relay  https://www.windowsazure.com/en- us/develop/net/tutorials/hybrid-solution/ Windows Azure Queues and Windows Azure Service Bus Queues - Compared and Contrasted  http://msdn.microsoft.com/en- us/library/windowsazure/hh767287.aspx
  • 9.