【问题标题】:Nodejs Cluster with MQTT client [closed]带有 MQTT 客户端的 Nodejs 集群 [关闭]
【发布时间】:2021-08-24 20:02:13
【问题描述】:

我有一个 nodejs 引擎,它使用 MQTT 订阅来自许多 IoT 设备的消息。随着物联网设备数量的增加,我想以集群模式运行nodejs引擎。这导致每个集群都接收到所有 MQTT 消息。有没有办法避免这种情况?一种仅接收一次 MQTT 消息并且服务消息的负载可以平均分配的方式。

设置:

带有 MQTT 客户端的 Nodejs 引擎通过 pm2 在 EC2 实例中运行。 在另一个 EC2 实例中运行的 MQTT 代理。

【问题讨论】:

    标签: node.js mqtt aws-iot emq nodejs-cluster


    【解决方案1】:

    您需要使用支持共享订阅的代理。

    这允许多个客户端连接到代理,然后都订阅相同的主题[s],并且代理将以循环方式将每条消息传递给组中的一个客户端。

    共享订阅是 MQTT v5 规范的一个选项部分,一些代理在其 MQTT v3 代理中没有标准实现。

    您可以阅读有关共享订阅的更多信息here

    【讨论】:

      猜你喜欢
      • 2018-01-11
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 2021-03-15
      • 2020-06-27
      • 2012-05-24
      • 2016-07-09
      • 1970-01-01
      相关资源
      最近更新 更多