首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mqtt + Spark streaming和dynamodb

Mqtt + Spark streaming和dynamodb
EN

Stack Overflow用户
提问于 2017-06-23 16:35:19
回答 1查看 325关注 0票数 0

我正在尝试使用上面提到的技术设计一个IoT平台。如果有人能评论这个架构,我会很高兴,如果它是好的和可伸缩的!

我通过mqtt获取IoT传感器数据,我将通过spark streaming接收这些数据(有一个用于spark streaming的mqtt连接器,它可以做到这一点)。我只需要订阅主题,并且有一个第三方服务器将IoT数据发布到主题。

然后我解析数据,并将其插入到亚马逊网络服务DynamoDB中。是的,整个安装程序将在AWS上运行。

根据IoT用例,我将来可能需要处理/转换数据,所以我认为spark可能会很有用。我也听说spark流媒体的速度很快。

这是一个简单的概述,我不确定它是否是一个好的架构。使用spark streaming会不会有点过火?是否有其他方法可以将从mqtt收到的数据直接存储在DynamoDB上?

EN

回答 1

Stack Overflow用户

发布于 2017-06-24 08:12:34

我不能说明您的组件是否会产生可伸缩的体系结构,因为您没有详细说明如何扩展它们,也没有详细说明这种系统应该处理的估计负载,或者负载是否会达到峰值。

如果你谈论的是性能方面的可扩展性,你也应该考虑价格方面的可扩展性,这可能对你的项目很重要。

例如,DynamoDB是一个可伸缩的NoSQL数据库服务,它以非常有效的价格提供弹性性能。我对Apache Spark了解不多,即使它被设计成在规模上非常有效,您将如何分发传入的数据?您是否会在EC2上托管多个实例并使用自动伸缩来管理实例?

我的建议是,根据组件来隔离您的需求,以便进行成功的分析。总结您的语句:

  • 您需要使用MQTT大规模接收传入传感器遥测。
  • 您需要动态转换或丰富这些数据。
  • 为了构建您提到的Apache Spark,您需要将这些数据(可能作为时间序列)插入到DynamoDB中,我想您需要对这些数据执行一些分析,或者以接近实时的方式,或者以批处理的方式,以便从您的数据中构建价值。

我的建议是在AWS中使用无服务器的托管服务,这样你就可以只为你真正使用的东西付费,忘记维护或可伸缩性,专注于你的项目。

  • AWS IoT是一个内置在亚马逊网络服务中的平台,它将允许您使用MQTT安全地 ingest data at any scale。
  • 此平台还嵌入了一个rules engine,它将允许您在云中构建您的业务规则。例如,截取传入的消息,对其进行丰富,并作为结果调用其他AWS服务(例如,调用Lambda function对摄取的数据进行某些处理)。
  • 规则引擎具有到DynamoDB的本机连接器,这将允许您将经过丰富或转换的数据插入到表中。
  • 规则引擎还具有到新的Amazon Machine Learning服务的连接器,如果您希望在AWS中获得传感器数据的预测,则可以使用其他服务(如EMR + Spark )来批处理数据,每天、每周、月份。

这样做的好处是,您可以组装组件并使用它们,这意味着您在开始时不需要全功能堆栈,但仍然可以灵活地在未来进行更改。

亚马逊网络服务IoT服务概述。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44716773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档