Windows Azure Service Bus (2) 隊列(Queue)入門

來源:互聯網
上載者:User

標籤:des   blog   http   io   os   使用   ar   strong   for   

  《Windows Azure Platform 系列文章目錄》

 

  Service Bus 隊列(Queue)

  Service Bus的Queue非常適合分布式應用。當使用Service Bus Queue的時候,分布式應用的組件不直接進行通訊。

  -  前端應用(發送方)建立一個Azure Service Bus Queue,插入需要處理的訊息主體,然後繼續處理前端商務邏輯

  -  後端訊息處理(接收方)從Service Bus Queue中取出訊息,並進行處理

  -  發送方不需要等待接收方的回覆,以便在前端處理和發送更多的訊息

  -  Azure Service Bus Queue是First In First Out的,最先添加的訊息主體,最先被處理。並且Service Bus Queue是會被多個接收方處理的,類似於競爭模式。但是同一時刻,一條訊息主體只會被一個接收方處理,保證不會被多個接收方重複處理。

  這就好比是筆者進餐館吃飯,服務員(代表筆者作為發送方)協助筆者點菜,廚師(代表接收方)在廚房燒菜。假設這家餐館有ABC三個廚師,筆者點的菜就會被ABC三個廚師進行競爭處理,最先點的菜最先被處理(FIFO),且同一個菜只會由一個廚師製作,不會被兩個或者多個廚師同時製作。

 

  Service Bus Queue 架構圖:

  

  Service Bus Queue是一種通用的技術,可以用於各種各樣的情景:

  1. 在一個多層(Multi-Tier) Azure應用程式的Web Role和Service Bus Worker Role之前的通訊
  2. Azure公網應用程式和企業內網應用程式互相通訊的混合雲的解決方案
  3. 企業內網中不同組織或者部門的分布式應用程式之前的互相通訊

  使用Service Bus Queue可以讓你更好的擴充你的應用程式,並使架構更靈活。

 

  接下來,筆者將介紹使用Azure Management Portal和Visual Studio 2013來建立和使用Azure Service Bus Queue。

  本次Demo需要準備的前提條件:

  1. Windows Azure Global 帳號 (www.windowsazure.com)
  2. Visual Studio 2013
  3. Windows Azure SDK (筆者使用的是.NET SDK For VS2013)

  

  1.首先我們需要登陸Azure Management Portal (http://manage.windowsazure.com)

  2.點擊New -> App Service -> Service Bus ->Queue -> Custom Create。設定Service Bus的名稱和命名空間。如:

  

  然後配置Azure Service Bus,如:

  

  中,可以按照需要設定Azure Service Bus Queue的Max Size等資訊,筆者暫時使用預設設定。

  

  3.建立完畢後,我們可以通過顯示欄的Connection Information來查看Service Bus的存取金鑰,如:

  

  密鑰顯示如下:

  

  以上完成了Service Bus NameSpace的設定。

 

  4.然後我們以管理員身份開啟VS2013。點擊工具列的View -> Server Explorer。 

  在Server Explorer中,展開Windows Azure -> Service Bus,然後右鍵,點擊Add New Connection

  

  在中,勾選Use connection string,然後複製我們在步驟三中的存取金鑰連接字串:

  

  

 

  5.設定完畢後,我們展開Service Bus -> leizhangservicebus-ns -> Queues,然後點擊Queue,右鍵,Create New Queue。如:

  在彈出的視窗中,設定Name為LeiZhangServiceBusQueue。

  然後展開Queues的內容,可以查看到我們建立成功的Azure Service Bus Queue。

  

  階段性總結:

  步驟1-3,實現了建立Azure Service Bus Namespace的工作

  步驟4-5,實現了建立Azure Service Bus Queue的工作

 

  接下來,我們要測試通過Visual Studio 2013,向Service Bus Queue,發送和接受訊息。

  1.我們點擊中建立成功的Service Bus Queue,點擊右鍵Send a test message,進行發送訊息的測試,如:

  

  2.會快顯視窗,證明發送測試訊息成功。如:

  

  3.重複步驟1的Send a test message三次。

  4.回到Azure Management Portal,點擊leizhangservicebus-ns,可以查看到Queue Length為3,是因為在步驟3中,我們Send a test message執行了三次。如:

  

  5.接下來,我們執行接收訊息的步驟。我們右鍵點擊"Receive Message"

  

  6.點擊Receive Message之後,會顯示接受訊息的結果。

  可以看到,下周中Id為1,即第一條訊息。說明了Service Bus Queue是First-In-First-Out的,且Label的時間4:32:36 PM和步驟2的時間一致,也說明了是接受到了第一條訊息。如:

  

  7.重複步驟5的Receive Message,直至將所有的Azure Service Bus Message取出。

  8.然後我們回到Azure Management Portal,可以看到Queue Length又變成0了,因為筆者通過VS2013將Service Bus Queue的訊息都Receive了。如:

  

Windows Azure Service Bus (2) 隊列(Queue)入門

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.