【问题标题】:ActiveMQ create hierarchical topics with wildcardsActiveMQ 使用通配符创建分层主题
【发布时间】:2017-07-26 21:00:47
【问题描述】:

我已阅读 ActiveMQ 文档,可以使用通配符创建子主题。例如,我可以创建主题:

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

然后我可以注册其中一个主题,或者注册所有主题(物理环境。>)

但它如何适用于更复杂的结构,例如:

是否会调用闪烁的主题:

  • physicalEnvironmet.Conditions.Light.Flickering

我还能有一个精确的选择吗,比如只订阅轻量级的主题:

  • physicalEnvironmet.Conditions.Light.>

所以基本上我问的是子主题是否有级别限制,以及是否有更简单的方法来创建分层主题顺序。

【问题讨论】:

  • 您预计总共有多少主题?预期的客户数量是多少?预期消息数/小时是多少?预期的消息大小是多少(以字节为单位)?
  • 主题的完整结构仍未定义,但如果我不得不猜测 Id 说在 30-50 左右。对于客户来说很难说,因为发布/订阅是针对自适应系统的,所以可能很多。 (轻松超过 100 个)。由于涉及传感器,因此可能每隔几秒钟发送一次消息。消息的大小相当小,因为它将是包含有限信息的 JSON 对象。

标签: jms activemq wildcard hierarchical


【解决方案1】:

在我 10 多年的消息传递中,每个层次主题结构最终都会被替换,b/c 分类法永远不会奏效。您的整体消息模式表明总量适中,因此我建议使用灵活的事件模型,您可以在其中使用字段来定义方差与主题名称 eventType="Environmental" sensorType="Light"。这使您可以添加新的,然后可以选择过滤掉客户想要和不想要的内容,而不必与代理混淆。

另一种选择是使用 JMS 标头来做同样的事情。这将允许您使用选择器进行代理端过滤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 2018-01-15
    • 2021-07-14
    相关资源
    最近更新 更多