我一直在研究 MQTT,我很好奇在尝试创建一对一通信系统时实现是如何工作的。
我正在尝试做的事情:设置一个系统,允许 IOT 设备直接向其用户推送通知,并且用户可以通过 MQTT 代理向他们的 IOT 设备推送通知。 p>
实现思路:
- 所有设备都有一个单独的主题供每个用户订阅。
- 每台设备都发布到同一个主题,并带有一个标签,用于标识要向其传递消息的用户。
下面是我创建的图片,展示了我如何看待实现的工作原理。
更多信息:我需要一个可以扩展以包含 10 万多台设备的系统,但消息量极少(每天 1 条消息)
布局:
- 物联网设备将通过 MQTT 向后端系统发送消息。
- 后台系统会接收到消息并存储在后台
结束。
- Web-service(Dispatcher) 层将在
后端和移动应用程序。
- 移动应用将通过网络直接与物联网设备通信
服务。
问题:
- 当预计会有大量用户时,MQTT Broker 如何实现一对一通信的主题?
- 主题有限制吗?
- 我在布局方面缺少什么?
Best Answer-推荐答案 strong>
我认为您对 MQTT(发布/订阅消息传递)的理解是不正确的。每个订阅特定主题的客户端都会收到消息。您提到的“标签”(带有标识将消息传递给用户的标签 )是必须发布消息的主题名称。
如果您想做一些特殊的消息分发,您必须创建一个客户端,该客户端将订阅一个主题,每个客户端都会向该主题发送消息,然后根据您的“值”将消息发送到特定的“客户端”主题标记”。
关于android - 如何实现 MQTT 进行一对一的消息分发,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29235049/
|