【发布时间】:2017-04-30 17:48:12
【问题描述】:
我有一个物联网应用程序。我在哪里使用 mqtt 协议进行通信。 我正在使用 Emqttd (http://emqtt.io/) 作为 mqtt 代理。现在我的所有设备以及我的节点服务器都作为客户端连接到 MQTT Broker。 每当设备需要更新其状态时,它都会在特定主题上发布,并且我的节点服务器正在监听所有主题。但我担心如果没有怎么办。每秒消息数增加,我的服务器是否能够处理所有这些消息并更新数据库中的状态?有没有限制。客户端每秒可以处理的消息数? 或者有没有更好的方法将我的设备状态更新到数据库中。
【问题讨论】:
-
取决于您客户的规格。我有一个 1 核 400Mhz ARM 设备,它每秒能够通过 mqtt 发送约 1000 条消息。代码是用 C++ 编写的,但在功能更强大的设备上,我猜你将能够使用 node.js 获得更好的结果。如果您认为您的服务器将无法处理传入消息,您可能需要查看集群您的节点 mqtt 客户端。
-
您必须在代表目标环境的部署中测试其性能/吞吐量。这没有什么不寻常的 - 这是您需要为您想要扩展的任何服务器/网络系统/服务做的事情。