物联网数据系统设计:Google Pub / Sub vs Kafka vs Kinesis vs PubNub用于物联网数据摄取?

问题描述 投票:5回答:2

我正在尝试构建一个IoT +数据分析系统,我无法决定使用哪种技术或服务进行摄取。

最终目标的高级描述是:

  1. 物联网设备将数据推送到物联网网关(使用Zigbee,Z波,蓝牙等)
  2. 物联网网关(连接到互联网)将数据推送到发布/订阅系统
  3. 后端服务处理来自发布/订阅系统的数据,更新仪表板并发送警报

我的问题是,如果我们只需要~10秒的响应时间,我们应该使用什么样的pubsub系统? (例如,以下是可接受的:物联网设备检测到事件,然后大约10秒后它会显示在用户的仪表板上或发出警报)

以下是我的一些问题:

  1. 我看到PubNub在物联网中广告宣传了很多东西。我的理解是,PubNub基本上是一个非常快速的pubsub系统,保证不到1/4秒的交付 - 这是对它的正确理解吗?但与使用Google的Pub / Sub或维护我们自己的Kafka相比,PubNub有点贵。
  2. Google Pub / Sub在某种意义上类似于PubNub,因为与单个数据中心中运行的单个自我管理的Kafka群集不同,Google Pub / Sub拥有自己的网络,因为它是Google的一部分吗? (类似于PubNub是一个“数据流网络”?)
  3. 如果我使用Kafka,生产者应该在网关设备中吗? 如果生产者不在网关设备中,那么Kafka生产者是否应该在我们的服务器上并且有一个REST API来接受来自网关设备的消息? 如果Kafka生产商IS在网关设备中,是否需要在Kafka经纪人面前有任何特殊的东西让他们接受来自网关设备的消息?
  4. PubNub可用于将命令发送回IoT设备。这可以通过Google Pub / Sub或Kafka完成吗? 将命令推送到IoT设备使用Kafka,每个Gateway设备是否需要一个等待来自其订阅主题的消息的消费者? (例如命令)

此外,不确定是否值得一提,但目前,该团队只是我和其他2个完整堆栈开发人员。我们已经阅读了Kafka和Zookeeper,但我们都没有过去推出它的教程示例。

apache-kafka publish-subscribe iot pubnub
2个回答
4
投票

我推荐选项3.1,因为我个人知道它已经在许多物联网用例的生产中得到证实,其中包括一个涉及超过2000万设备的用例。 Confluent Kafka REST代理是开源的,它是通过互联网(使用防火墙和负载均衡器友好的HTTPS协议)将REST / HTTP从网关转换为云/数据中心的Kafka REST代理,然后转换为Kafka的好方法。以及所有支持Kafka的后端仪表板工具。甚至IBM也将此架构用于Bluemix MessageHub上的物联网基础架构。如果您不喜欢REST,那么可以选择MQTT,CoAP,websockset,AMQP,XMPP和许多其他Kafka连接器。


5
投票

所有重大问题。 (完全披露我为PubNub工作)

PubNub更像是pub / sub(稍后我会介绍)。首先,PubNub是作为全球分布式网络构建的,因此我们可以通过本地存在点为全球所有设备提供低延迟连接。由于这种分布式架构,您的设备将始终连接到最接近它们的POP,因为我们全局复制消息,如果服务器或节点出现故障,您将自动重新连接到下一个最近的节点而不会丢失消息。因此,PubNub为所有客户提供99.999%的正常运行时间SLA。

在构建与购买决策时,我可以告诉你,我们的许多客户都认为他们可以自己构建它,但很快意识到这项工作比他们预期的要多 - read more here。构建和维护客户端库,扩展后端,24-7监控和安全性都是您需要拥有内部专业知识的所有内容。如果考虑到前期开发成本,持续维护 - 而不是今天下载SDK,请立即开始编码,以便通过已知的可扩展解决方案更快地进入市场。

PubNub是根据交易定价的,因此根据设备数量和流量水平,我敢打赌总成本仍然低于一名全职员工。为此您可以从70多个客户端SDK中进行选择,利用经过验证的可扩展架构,利用已内置的安全功能,准备好整个团队并等待全天候提供帮助,这样您就可以专注于创新而不是基础设施。

PubNub比Pub / Sub更多。 PubNub不仅提供实时消息传递,还通过其programmable network提供状态管理和无服务器计算。 PubNub允许您在网络中编写和部署功能,事实上,PubNub BLOCKS Catalog中已有30多种预建功能可供您在数据发生变化时发送短信,电子邮件等。

PubNub还创建了一个用于构建名为Project EON的实时仪表板的开源项目。这使得为​​您的所有设备数据提供实时可视化变得非常容易。

你说PubNub可以用于remote device control也是正确的。今天正在使用Insteon,Logitech,三星,Wink等等。

如果您有任何其他问题,PubNub有一个非常好的支持人员24/7 - [email protected]或点击网站上的聊天。

© www.soinside.com 2019 - 2024. All rights reserved.