首页 > 解决方案 > Fiware IoT Agent - 数据丢失问题

问题描述

我们正在观察 IoT 代理中的大量数据丢失。当 IoT 代理从我们的 VerneMQ MQTT 代理接收数据时,就会发生数据丢失。

我们的数据以 1000/min 的速度流动。启动 IoT 代理后,它可以正常工作大约 12 小时,但在 12 小时后,我们看到平均数据丢失率为 20%。

除了 IoT 代理之外,我们还有一个订阅者从 VerneMQ 主题接收相同的数据,并且该订阅者从 VerneMQ 接收所有数据。数据丢失仅在 IoT Agent 中。

我们正在使用 ECS/Fargate 服务在 AWS 环境中运行 IoT 代理和 Orion 上下文代理。每个 IoT 代理和 Orion 实例都在单独的专用容器中运行。

当 IoT Agent 在一个 ECS 容器上运行时,它可以正常工作而不会丢失数据,但是当 ECS 容器增加到多个时,似乎会丢失数据。您能否指导并帮助我们解决此问题。

关于我们的环境的详细信息:

  1. 物联网代理版本:

{ “libVersion”:“2.12.0-next”,“端口”:“4041”,“baseRoot”:“/”,“版本”:“1.14.0-next”}

  1. Orion 上下文代理版本:
{   "orion": {
"version": "2.3.0",
"uptime": "0 d, 3 h, 51 m, 36 s",
"git_hash": "764f44bff1e73f819d4e0ac52e878272c375d322",
"compile_time": "Tue Nov 5 09:38:37 UTC 2019",
"compiled_by": "root",
"compiled_in": "38ab37448d3a",
"release_date": "Tue Nov 5 09:38:37 UTC 2019",
"doc": "https://fiware-orion.rtfd.io/en/2.3.0/"   } }

IoT Agent 中设置的环境变量: 在此处输入图像描述

标签: fiwarefiware-orion

解决方案


当您说“数据丢失”时,您的意思是 VerneMQ 记录它正在丢弃消息吗?如果消费者超载,就会发生这种情况。在这种情况下,VerneMQ 将通过减载消息来保护它。

不过,您当前的消息率应该不是问题。

André(与 VerneMQ 项目一起)


推荐阅读