可以使用什么服务来限制与数据库的IoT设备连接数?

时间:2019-02-12 22:59:34

标签: database iot

我有一个约有2000台设备的IoT系统。我希望每个设备都将数据上传到MongoDB实例。

每个设备每8-12秒连接一次,并进行一次输入。实际的条目写入大约需要50毫秒。

我的MongoDB的最大连接数为100。尽管这不太可能,但由于最大连接数,总有2000个设备同时连接并被db拒绝的可能性。

我的所有设备都可以向其发送数据的预先存在的排队服务吗?我不想编写一个中间人服务器来从IoT设备收集所有数据并将其转发到数据库。

所以基本上不是:

|设备| -------->数据库

我需要:

|设备| ------->服务------>数据库

我只是不确定这个“服务”是什么。这样的事情存在吗?我应该找什么?我尝试使用AWS SQS,但是我不太清楚如何从AWS SQS向mongo db进行输入。这是正确的工具还是其他服务?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用消息队列。

Rabbit MQ是一个不错的选择,因为它支持MQTT(非常适合设备到云通信)和AMQP(0.9.1)(非常适合云到云通信)

您还可以使用任何标准的MQTT代理(EMQTT,Mosquito,Hive等),并在两者之间实现对MongoDB客户端的MQTT。将MQTT clean_session标志设置为false将使代理充当高速缓存。