2016-09-06 65 views
0

對於我的新項目,每個組件都將部署在Azure中。我有一個使用RabbitMQ處理事件的第三方應用程序,我想訂閱這些事件並處理它們以將數據存儲在我自己的數據庫中的事件中。訂閱和處理來自Azure中的RabbitMQ的事件

什麼是最好的方式去?使用webjobs併爲RabbitMQ編寫我自己的自定義觸發器/活頁夾?

謝謝你的建議提前

回答

0

對於具有基於訂閱的路由,您可以在RabbitMQ的使用主題。使用主題可以將事件推送到特定隊列,然後這些隊列中的使用者可以執行處理將數據寫入數據庫。唯一需要注意的是爲每個隊列準備一個正確的路由密鑰。

這樣你可以有基於訂閱的機制。這種方法唯一的辦法就是每個事件都會有一個隊列。

每個事件有一個隊列的好處是可以很容易地跟蹤事件和調試。

如果事件的數量非常大,那麼您可以只有一個隊列,但消耗完消息後必須觸發事件。

這裏是鏈接參考: https://www.rabbitmq.com/tutorials/tutorial-five-python.html

1

根據您的要求,我認爲Azure的WebJob是達到你的目的的理想方法。在這種情況下,您可以使用WebJob作爲客戶端客戶端來訂閱事件並處理數據。請嘗試創建WebJob並按照Mitra提供的鏈接訂閱事件並在WebJob中實現您的邏輯過程。

請注意WebJob作爲後臺進程在Azure Web App的上下文中運行。爲了讓WebJob持續運行,您需要以標準模式或高級模式運行,並啓用「始終開啓」設置。

考慮縮放比例,可以使用Azure網站縮放功能縮放額外的WebJobs實例。對於縮放,您可以參考tutorial