2017-07-25 117 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头来做同样的事情。这将允许您使用选择器进行代理端过滤。