如何实现MQTT以实现一对一的消息分发

时间:2015-03-24 14:20:28

标签: android ios push-notification mqtt iot

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

我要做的是:设置一个系统,允许IOT设备直接将通知推送给其用户&用户通过MQTT代理将通知推送到他们的IOT设备。

关于实施的想法:

  1. 所有设备都有一个单独的主题,每个用户都订阅了该主题。
  2. 每个设备使用标记发布到同一主题,该标记用于标识要将消息传递给的用户。
  3. 下面是我创建的关于如何看待实现工作的图像。

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

    布局:

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

    问题:

    • 当预计会有大量用户时,MQTT Broker如何针对一对一通信的主题实施?
    • 主题是否有限制?
    • 我对布局缺少什么?

1 个答案:

答案 0 :(得分:1)

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

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