相关疑难解决方法(0)

Azure云中的MQTT代理

我有一个后端设备,MQTT客户端连接到开源MQTT代理(Mosquitto).另一方面,我有许多前端设备(PC,平板电脑,移动),GUI应用程序也连接到代理.所以这里Mosquitto作为后端设备和前端设备之间的通信点,只是在它们之间转发消息.有时传输的数据量可能非常高(例如1 MB/min).

一个后端设备+许多前端设备是一个安装.我需要为数千个此类安装同时工作的基础设施做好准备.所以我的服务需要非常可靠.我的公司使用Azure云解决方案,所以我开始学习这个解决方案,我必须承认我有点困惑.我已经读过我需要使用IoT Hub,但它需要MQTT网关才能与MQTT设备对话.另一方面,如果我理解得很好,网关需要在某个VM上运行,所以这里我失去了我的解决方案的可扩展性.我对吗?现在,如果我需要支持100k或500k设备,那么我将需要另一台VM?还有一件事是我需要将所有这些与一些web服务集成(用于管理后端和前端设备),所以我需要webservice和MQTT代理之间的一些连接......

在我开始使用Azure之前,我想,我将简单地启动一个MQTT代理服务,并且神奇地它将是高度可扩展的,并且能够为数千个设备提供服务.

谁能解释我怎么咬这个?

cloud azure mqtt iot

8
推荐指数
2
解决办法
2万
查看次数

mqtt mosquitto 桥水平缩放

我有一个负载均衡器,即 aws elb 所有发布/订阅都将通过 elb 两个 mosquitto 代理 A 和 mosquitto 代理 B 在 elb 一个 mosquitto 代理下同步这两个代理之间的主题(mosquitto.broker.sync)

试一试

这就是在节点 A 和 B 之间同步主题的 mosquitto 代理的配置看起来相似

mosquitto.broker.sync: ##
connection mosquitto-bridge
try_private false
address mosquitto.broker.A:1883 mosquitto.broker.B:1883
start_type automatic
round_robin true
notifications true
topic # both 2 "" ""
Run Code Online (Sandbox Code Playgroud)

但这不起作用,它只能连接到 mosquitto.broker.A 而不能连接到 mosquitto.broker.B

尝试两个

撤消所有先尝试一个

所以我尝试以其他方式从 mosquitto.broker.sync 中删除所有网桥配置(只是为了避免循环)

并将此配置添加到节点上

mosquitto.broker.A:##

connection mosquitto-bridge
try_private false
address mosquitto.broker.sync:1883
start_type automatic
round_robin true
notifications true
topic # both 2 "" ""
Run Code Online (Sandbox Code Playgroud)

mosquitto.broker.B:##

connection mosquitto-bridge
try_private …
Run Code Online (Sandbox Code Playgroud)

mqtt mosquitto

5
推荐指数
1
解决办法
5622
查看次数

标签 统计

mqtt ×2

azure ×1

cloud ×1

iot ×1

mosquitto ×1