2

我一直在研究 MQTT,我很好奇在尝试创建一对一通信系统时实现是如何工作的。

我正在尝试做的事情:设置一个系统,允许 IOT 设备直接向其用户推送通知,并且用户可以通过 MQTT 代理向他们的 IOT 设备推送通知。

实施思路:

  1. 所有设备都有一个单独的主题,每个用户都订阅了该主题。
  2. 每个设备都使用一个标签发布到相同的主题,该标签标识要向其传递消息的用户。

下面是我创建的关于我如何看待实现工作的图像。

更多信息:我需要一个可以扩展以包含 100k 多个设备的系统,但消息量极少(每天 1 条消息)

布局:

  • 物联网设备将通过 MQTT 向后端系统发送消息。
  • 后端系统将收到消息并将其存储在后端。
  • Web 服务(调度程序)层将在后端和移动应用程序之间进行通信。
  • 移动应用程序将通过网络服务直接与物联网设备通信。

问题:

  • 当预期有大量用户时,MQTT Broker 如何实现一对一通信的主题?
  • 主题有限制吗?
  • 我在布局方面缺少什么?
4

1 回答 1

1

我认为您理解 MQTT(发布/订阅消息)的概念是不正确的。每个订阅特定主题的客户端都会收到消息。您提到的“标签”(with a tag that identifies the user to pass the message to)是必须发布消息的主题名称。

如果您想做一些特殊的消息分发,您必须创建一个客户端,该客户端将订阅一个主题,每个客户端都会向该主题发送消息,然后根据您的“标签”值将消息分派到特定的“客户端”主题。

于 2015-03-24T14:55:09.270 回答