2017-07-25 120 views
0

我已閱讀ActiveMQ文檔,可以使用通配符創建子主題。因此,例如,我可以創建主題:ActiveMQ使用通配符創建分層主題

  • physicalEnvironmet.Conditions
  • physicalEnvironmet.Infrastructure
  • physicalEnvironmet.Location

然後我可以註冊到任何的話題之一,或所有(physicalEnvironmet。>)

但它是如何工作的更復雜的結構,如下所示:

enter image description here

會爲閃爍的話題被稱爲:

  • physicalEnvironmet.Conditions.Light.Flickering

而且有可能我還是一個精確的選擇,像只訂閱與所考慮的主題燈:

  • physicalEnvironmet.Conditions.Light。>

所以基本上我在問如果對子主題有級別限制,並且如果有更簡單的方法來創建分層主題訂單。

+0

您預計會有多少個主題?預期的客戶數量是多少?每小時預期消息的數量是多少?預期的消息大小是多少字節? –

+0

主題的完整結構仍未定義,但如果我不得不猜測身份證說30-50左右。對於客戶來說很難說,因爲pub/sub是用於自適應系統的,所以它可能相當多。 (容易超過100)。由於涉及傳感器,可能每隔幾秒發送一次消息。消息的大小相當低,因爲它將是包含有限信息的JSON對象。 –

回答

1

在我的10多年的消息傳遞中,每個分層次的主題結構最終都被替換掉了,因此分類法從未解決。您的總體消息模式表明總體音量適中,因此我建議您使用字段來定義差異與主題名稱eventType =「Environmental」sensorType =「Light」的靈活事件模型。這允許你添加新的,然後可以選擇過濾掉客戶想要的和不想要的,而不必與代理商混淆。

另一種選擇是使用JMS頭來做同樣的事情。這將允許您使用選擇器進行代理端過濾。