目前在我的项目中,控制器(客户端)将传感器数据发送到服务器并从服务器接收带有一些附加数据的反馈,使用 MQTT 协议进行通信。它有 2 个独立的客户端和服务器主题。
例如:
主题 1 - 客户端(订阅),服务器(发布)
主题 2 - 客户端(发布),服务器(订阅)
但是如果这个项目是一个更大应用程序的用例,假设需要在某个地方安装大约 5000 个设备。
那么,是否需要为客户端和服务器创建 5000 个不同的主题?或者使用较少的主题可以完成以及如何完成?
目前在我的项目中,控制器(客户端)将传感器数据发送到服务器并从服务器接收带有一些附加数据的反馈,使用 MQTT 协议进行通信。它有 2 个独立的客户端和服务器主题。
例如:
主题 1 - 客户端(订阅),服务器(发布)
主题 2 - 客户端(发布),服务器(订阅)
但是如果这个项目是一个更大应用程序的用例,假设需要在某个地方安装大约 5000 个设备。
那么,是否需要为客户端和服务器创建 5000 个不同的主题?或者使用较少的主题可以完成以及如何完成?
从客户端到服务器,您可以将客户端 ID 打包到有效负载中,例如,如果它是 JSON,则其中一个键可以具有客户端 ID 值。
从服务器到客户端的响应应包含客户端 ID,以便代理不广播消息,而是将其直接发送到一个连接的客户端。
同时,您可以订阅您的服务器,例如:“requests/+”,每个客户端将发布到“request/{client-id-1}”、“request/{client-id-2}”和服务器只需一次订阅即可获得两者。