【问题标题】:Is there any way can sync client state between 2 MQTT broker有什么方法可以在 2 个 MQTT 代理之间同步客户端状态
【发布时间】:2021-06-23 03:36:04
【问题描述】:

您好,我正在 2 个单独的设备上构建 2 个 mosquitto MQTT 代理,并在它们之间设置桥接。 并且两个代理都设置为可以存储消息的持久性。 假设经纪人 A 和经纪人 B。 当我将主题 A 上的消息发布到代理 A 时,当我在两个代理上订阅主题 A 时,我可以在两个代理上获取消息。 但现在我面临的是,当我在主题 A 上连续发布消息时,比如说 100 条消息,代理可以识别 1 个代理上的客户端状态,但不能同时识别两者。

例如:

clientid 为client1 的客户端在broker A 上订阅Topic A,它接收消息并在收到50 条消息后停止脚本。当客户端重新启动脚本时,它会收到来自 51 的消息,并在收到消息 70 后再次停止。
然后客户端使用clientid client1在broker B上订阅Topic A,它接收到来自1的消息。

有什么方法可以在 2 个代理之间同步客户端状态?和上面的例子一样,客户端在代理 B 上订阅 Topic A 时会收到来自 71 的消息。

谢谢。

【问题讨论】:

    标签: mqtt mosquitto paho


    【解决方案1】:

    不,mosquitto 没有会话同步机制。

    还有许多其他 MQTT 代理使用后端数据库来存储会话信息,因此所有会话信息都在负载平衡/HA 代理之间共享。

    【讨论】:

    • 可以提供其他MQTT代理的名字吗??
    • emqx、HiveMQ 命名为 2 或使用 Aedes 构建自己的
    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多