【发布时间】:2017-04-28 08:26:08
【问题描述】:
我正在尝试构建一个 IoT + 数据分析系统,但我无法决定使用什么技术或服务进行数据采集。
最终目标的高级描述是:
- IoT 设备将数据推送到 IoT 网关(使用 Zigbee、Z-wave、蓝牙等)
- 物联网网关(连接到互联网)将数据推送到发布/订阅系统
- 后端服务处理来自发布/订阅系统的数据,更新仪表板并发出警报
我的问题是,如果我们只需要大约 10 秒的响应时间,我们应该使用哪种 pubsub 系统? (例如,以下是可以接受的:物联网设备感应到事件,然后大约 10 秒后它显示在用户的仪表板上或引发警报)
以下是我的一些问题:
- 我看到 PubNub 宣传了很多用于物联网的广告。我的理解是,PubNub 基本上是一个非常快的 pubsub 系统,保证不到 1/4 秒的交付——这是对它的正确理解吗?但与使用 Google 的 Pub/Sub 或维护我们自己的 Kafka 相比,PubNub 有点贵。
- Google Pub/Sub 在某种意义上是否类似于 PubNub,因为与在单个数据中心中运行的单个自我管理的 Kafka 集群不同,Google Pub/Sub 拥有自己的网络,因为它是 Google 的一部分? (类似于 PubNub 是一个“数据流网络”的方式?)
- 如果我使用 Kafka,生产者应该在网关设备中吗?
- 如果生产者不在网关设备中,那么 Kafka 生产者是否应该在我们的服务器上并具有 REST API 来接受来自网关设备的消息?
- 如果 Kafka 生产者在网关设备中,是否需要在 Kafka 代理前面有什么特别的东西才能让它们接受来自网关设备的消息?
- PubNub 可用于将命令发送回 IoT 设备。这也可以通过 Google Pub/Sub 或 Kafka 完成吗?
- 要将命令推送到 IoT 设备 使用 Kafka,每个网关设备是否都需要一个消费者来等待来自其订阅的主题的消息? (例如命令)
另外,不确定是否值得一提,但目前,团队只有我和另外 2 个全栈开发人员。我们已经阅读了 Kafka 和 Zookeeper,但我们都没有发布过它的教程示例。
【问题讨论】:
-
最好将您的问题列表分成(至少)4 个不同的问题,以便可以分别解决每个问题。由于 Stack Overflow 上也没有很好地接受软件/库推荐,您可能想看看 IoT site 或 Software Recommendations(尽管 Software Recs 无法处理您的概念性问题,只是推荐方面)。跨度>
标签: apache-kafka publish-subscribe iot pubnub