zoukankan      html  css  js  c++  java
  • Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较

    上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别:

    Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别

    本文中,我们比较一下Azure IoT Hub和Event Hub,同时启动Azure Event Hub(事件中心)的研究。

    Azure IoT Hub的另一个主要应用场景是从设备侧接收遥测数据。 与 Azure IoT Hub一样,Azure Event Hub是一个事件处理服务,主要用于向云端提供大规模的事件与遥测数据入口,并且具有较低的延迟和较高的可靠性,其有点类似于Kafka作为Hadoop数据入口的场景,唯一不一样的是Azure Event Hub以事件为主要载体和抓手,Kafka更多是各种数据。在我们的实际应用场景中,Kafka作为监控数据、业务数据、设备侧数据的数据缓冲和入口。

    回到正题,Azure IoT Hub和Azure Event Hub的主要不同有哪些:

    1. 通信模式

        Azure IoT Hub:启用设备到云通信(消息传递、文件上传及报告属性)和云到设备之间的通信(直接方法、所需属性、消息传递)

        Azure Event Hub: 仅支持事件引入(通常视为设备到云的方案)

    2. 设备状态管理

        Azure IoT Hub:可存储和查询设备状态信息

        Azure Event Hub: 不支持

    3. 设备通信协议支持

       Azure IoT Hub: 支持 MQTT、基于 WebSockets 的 MQTT、AMQP、基于 WebSockets 的 AMQP 和 HTTP。 此外,IoT 中心还可使用 Azure IoT 协议网关(一种可自定义协议网关实现)以支持自定义协议。

       Azure Event Hub: 支持 AMQP、基于 WebSockets 的 AMQP 和 HTTP。

    4. 安全

       Azure IoT Hub:提供每个设备的标识与可吊销的访问控制权限

       Azure Event Hub: 提供事件中心范围的共享访问策略,通过发布者策略提供有限的权限吊销支持

    5. 弹性伸缩

       Azure IoT Hub:支持数百万个设备同时连接

       Azure Event Hub: 可支持的同时连接数具有更大的限制:根据 Azure 服务总线配额,最多只支持 5,000 个 AMQP 连接,另一方面,支持每个发送的消息指定分区

    6. 设备SDK

       Azure IoT Hub:除直接 MQTT、AMQP 和 HTTP API 外,还为各种平台和语言提供设备 SDK

       Azure Event Hub: 在 .NET、Java、C 以及 AMQP 和 HTTP 发送接口上提供支持

    7. 文件上传

       Azure IoT Hub:支持将文件从设备上载到云

       Azure Event Hub: 不支持

    综上,Azure IoT Hub主要处理设备到云、云到设备之间的通信,而Azure Event Hub处理的是将后期事件引入实时处理引擎,后者比较类似Kafka将数据写入Hadoop再进行大数据分析场景。

    周国庆

    2017/5/1

  • 相关阅读:
    Linux下修改Mysql的用户(root)的密码
    Mysql 用户权限管理
    mysql的四种启动方式
    MySQL慢日志的相关参数
    mysqlsla slow-query常用用法

    导包和模块注意的问题
    Python面向对象之魔法方法/双下方法
    __new__问题
    转:Python常见字符编码及其之间的转换
  • 原文地址:https://www.cnblogs.com/tianqing/p/6792550.html
Copyright © 2011-2022 走看看