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

相关文章

这个错误发生在SPFX webpart需要请求Azure AD token的时候,全部错误信息如下: {"error&...
Azure是微软提供的一个云服务平台。是全球除了AWS外最大的云服务提供商。Azure是微软除了windows之外另...
前面我们使用Azure Face实现了人脸识别、使用Azure表格识别器提取了表格里的数据。这次我们试试使用Azu...
前几次我们演示了如何通过Azure静态web应用功能发布vue跟blazor的项目(使用 Azure静态web应用+Gith...
什么是Azure Blob Stoage Azure Blob Stoage 是微软Azure的对象存储服务。国内的云一般叫OSS,是一种用...
上一次演示了如何使用Azure静态web应用部署VUE前端项目(使用 Azure静态web应用+Github全自动部署V...