0

我们需要从 1000 多个 IOT 设备(温度、压力、RPM 等总共 50 多个参数)中获取数据,并在没有太多处理的情况下将其显示在仪表板上(只需检查数字是否在范围内,否则会发出警报),而是实时显示。我已经审查并测试了许多 aws 博客资源,例如Kinesis Storm ClickStream App

但是我认为使用storm对于这样一个简单的任务来说太过分了。我要做的就是将数据保存在数据库中并显示图表(30 分钟、1 小时或自定义日期)。这是我到目前为止所想到的

Device -> AWS IOT(mqtt) -> Kinesis -> x -> dynamoDB -> Presenter Web APP (Laravel) 我可能必须使用ClickStream 示例Node.jsRedis Pub/Sub提到的实时更新图表和警报。

我不想使用 Apache Storm,因为它在 Java 中并且有学习曲线(并且找不到任何好的资源)。我知道我可以使用Lambda,但不确定它会如何扩展。

  • 对解决方案有任何想法吗?
  • AWS 没有适用于 PHP、替代方案或解决方案的 KCL?因为我熟悉 PHP 但不熟悉 Java。
4

2 回答 2

1

Apache Storm 是一个分布式事件处理框架。在您的用例中,您似乎没有对事件执行任何计算。基本上,您的应用程序正在执行三个任务:

  1. 将数据摄取到系统中。
  2. 读取周期 X 到 Y 的数据。
  3. 在 Web 前端绘制图表。

摄取部分由 AWS-IOT 负责。您应该做的第一步是创建一个 SNS 主题并将所有 IoT 数据发布到SNS主题。在这里,您可以灵活地为每种数据类型创建一个主题(例如:温度、压力),并将消费者SQS队列附加到主题以将消息累积到其中。对于持久数据库,一个使用者可以是DynamoDB表,另一个使用者可以是Lambda函数,它执行某种过滤和数据转换并更新您的缓存。如果您需要对数据执行某种OLAP /分析查询,请考虑使用Redshift作为消费者之一。您必须了解具体要求才能最终确定您的设计。

于 2016-06-02T21:23:30.137 回答
0

在 IoT Core 中收到 mqtt 消息后,您是否考虑过将数据路由到 AWS IoT Analytics?通过这种方式,您可以通过 kinesis、Dynamo 和您的表示层摆脱所有繁重的基础设施。

AWS IoT Analytics 为您提供摄取、数据准备和查询功能。将数据存储在已处理的数据存储中后,您可以使用 AWS QuickSight 对其进行可视化。

于 2018-06-23T07:59:00.373 回答