2016-05-15 40 views
1

我對這個範例很陌生,所以請忍受我的愚蠢。自從我構建一個使用消息隊列來允許設備相互通信的IoT系統以來,我開始閱讀有關此主題的內容。消息隊列:多個主題vs帶過濾器的通用主題

我目前正在使用Azure的服務總線,但我相信我的問題一般適用於這個範例。

所以對我的問題...我的設備有輸入和輸出,根據我目前的知識水平,最明顯的做法是爲每個輸入或輸出創建一個主題,這樣感覺更清潔,我避免不必要的過濾但是,我不確定這是否會造成性能問題或我無法預見的其他問題。

  • 我應該爲每個輸入/輸出創建一個主題,還是應該爲每個設備創建一個主題,然後使用過濾器來獲取所需的信息?
  • 有很多話題是不好的做法嗎?
+1

不要忘記ASB配額。如果您的設備數量超過了允許的最大主題數量,則您的拓撲結構將無法工作。 –

+0

嗯...這當然是需要考慮的事情 – Jonny

+0

你是否考慮過EvenHubs而不是Service Bus? –

回答

2

對於物聯網項目中,有兩個...... 「適合」 被開發特別是對物聯網是業務:

1)事件集線器

2)物聯網集線器

第一個是針對更多面向事件的場景。我的意思是 - 通過事件中心實現對後端設備的管理將變得更加複雜,並且與物聯網中心的複雜性降低。

我強烈建議你看看這些服務,因爲服務總線是很棒的服務,但列出的服務更多的是面向物聯網的服務。

從架構角度看,最近微軟發佈了物聯網參考架構白皮書,您可以下載here。它具有可從微軟的角度用於Azure +物聯網項目的建議,服務和最佳實踐等。

另一個有用的資源可能是http://azureiotsuite.com。它是參考物聯網架構實施。因此,如果您單擊創建,您將在Azure訂閱中擁有兩個參考體系結構(遠程監控或預測性維護)之一,並且您將能夠查看所有流。

因此,我建議考慮使用物聯網/事件中樞而不是SB主題/隊列,因爲在IoT字段中,針對這些工作負載優化的服務應該比未優化的服務執行得更好。