我正在尝试构建IoT +数据分析系统,而且我无法决定使用哪种技术或服务进行摄取。
最终目标的高级描述是:
我的问题是,如果我们只需要~10秒的响应时间,我们应该使用什么样的pubsub系统? (例如,以下是可接受的:物联网设备检测到事件,然后大约10秒后它会显示在用户的仪表板上或发出警报)
以下是我的一些问题:
此外,不确定它是否值得一提,但目前,该团队只是我和其他2个完整堆栈开发人员。我们已经读过Kafka和Zookeeper了,但我们都没有过去推出一个教程示例。
答案 0 :(得分: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可以全天候提供支持人员 - support@pubnub.com或点击网站上的聊天。
答案 1 :(得分:4)
我建议选项3.1,因为我个人知道它已经在许多物联网用例的生产中得到证实,其中包括一个涉及超过2000万设备的用例。 Confluent Kafka REST代理是开源的,它是通过Internet(使用防火墙和负载均衡器友好的HTTPS协议)将REST / HTTP从网关转换为云/数据中心的Kafka REST代理,然后转换为Kafka的好方法。以及所有支持Kafka的后端仪表板工具。甚至IBM也将此架构用于Bluemix MessageHub上的物联网基础架构。如果您不喜欢REST,那么可以选择MQTT,CoAP,websockset,AMQP,XMPP和许多其他Kafka连接器。