自桥接 Mosquitto MQTT 代理
Self bridging Mosquitto MQTT broker
我正在尝试自行桥接一个蚊子经纪人。让我解释一下我这样做的场景。
我们的应用程序有 2 个部分。一个与处理数据有关,另一个是从 PLC 设备读取数据的 modbus 服务。
应用程序的处理部分能够处理多个客户端。我想为同一个客户设置测试和生产租户。这背后的原因是,这将使我们的客户可以自由地与测试租户一起玩,因为生产不会受此影响。
测试客户端从代理发送和接收数据。重要的是我们不要将测试租户的数据发送到我们的 modbus 服务。主题遵循以下格式。
company/service/test/+
用于测试客户端,company/service/prod/+
用于生产客户端。
modbus 服务以 company/service/prod/+
.
格式向同一代理发送数据
我有没有办法将此主题重新映射到 company/service/test/+
,以便测试和生产客户端都可以从代理接收数据。
address 127.0.0.1:41888
topic /company/values/prod/+ in 2
topic /company/values/prod/+ out 2 "" /company/values/test/+
remote_clientid test
remote_username mqttuser
remote_password broker-123
请记住,我有一个代理实例,我正在尝试在其上进行自我桥接。
在我上面的配置中,重新映射没有发生,因为它不是一个有效的前缀。
有人可以帮我弄清楚如何解决这个问题吗?
问题出在
中输出主题映射末尾的+
topic /company/values/prod/+ out 2 "" /company/values/test/+
你想要
topic + out 2 /company/values/prod/ /company/values/test/
这将删除 /company/values/prod/
并将其替换为 /company/values/test/
您还想删除第一个主题行 (topic /company/values/prod/+ in 2
),因为这将导致发布到 /company/values/prod/+
的任何消息的无限发布循环
p.s。以前导 /
开头的主题虽然在规范中有效是一个非常糟糕的主意,因为当您开始需要共享订阅并在每个主题的开头注入不需要的 null 时它会破坏事情。
我正在尝试自行桥接一个蚊子经纪人。让我解释一下我这样做的场景。
我们的应用程序有 2 个部分。一个与处理数据有关,另一个是从 PLC 设备读取数据的 modbus 服务。 应用程序的处理部分能够处理多个客户端。我想为同一个客户设置测试和生产租户。这背后的原因是,这将使我们的客户可以自由地与测试租户一起玩,因为生产不会受此影响。
测试客户端从代理发送和接收数据。重要的是我们不要将测试租户的数据发送到我们的 modbus 服务。主题遵循以下格式。
company/service/test/+
用于测试客户端,company/service/prod/+
用于生产客户端。
modbus 服务以 company/service/prod/+
.
我有没有办法将此主题重新映射到 company/service/test/+
,以便测试和生产客户端都可以从代理接收数据。
address 127.0.0.1:41888
topic /company/values/prod/+ in 2
topic /company/values/prod/+ out 2 "" /company/values/test/+
remote_clientid test
remote_username mqttuser
remote_password broker-123
请记住,我有一个代理实例,我正在尝试在其上进行自我桥接。
在我上面的配置中,重新映射没有发生,因为它不是一个有效的前缀。
有人可以帮我弄清楚如何解决这个问题吗?
问题出在
中输出主题映射末尾的+
topic /company/values/prod/+ out 2 "" /company/values/test/+
你想要
topic + out 2 /company/values/prod/ /company/values/test/
这将删除 /company/values/prod/
并将其替换为 /company/values/test/
您还想删除第一个主题行 (topic /company/values/prod/+ in 2
),因为这将导致发布到 /company/values/prod/+
p.s。以前导 /
开头的主题虽然在规范中有效是一个非常糟糕的主意,因为当您开始需要共享订阅并在每个主题的开头注入不需要的 null 时它会破坏事情。