【发布时间】:2017-04-14 11:23:23
【问题描述】:
我已经为一些演示目的构建了一个基于 IoT 和工业 4.0 概念的测试应用程序。以下是重点。
- 我已经在 Windows IoT 上构建了一个后台应用程序(在 Raspberry Pi 3) 收集传感器数据并推送到 MS Azure 云。那里 可以是多个同时使用的 IoT 设备。
- 在 Azure 端 IoT 中心接收设备到云的消息。
- 然后将数据传递到流分析作业,该作业将数据传递到事件中心。
- 事件中心在我的配置中有 2 个使用者组,这两个使用者组都由 Azure Web 应用程序使用。
- WebJob 使用默认 Consumer 组来存储历史数据,而 MVC 5 应用程序使用图像中命名为 Consumer group 1 的 Custom Consumer 组。
- MVC 5 应用使用
SignalR将数据传递给连接的用户以更新仪表板。 - 出于演示目的,此场景似乎运行良好,我们有 5 或 10 个同时连接到云 web 应用程序。
以下是设置的架构图
问题
现在对于实际场景,可能会有很多用户同时使用云应用程序,并且有一点云开始发挥作用,它可以将 web 应用程序水平扩展到许多实例,直接从 Event 读取事件可能会产生问题在这种情况下集线器,并非所有 Web 应用程序实例都会接收所有事件这是错误的,我认为这就是 MS Azure remote monitoring Architecture diagram 中的原因,Web 应用程序没有直接从事件中心读取消息。
问题
对上述架构进行哪些最佳/快速更改以解决问题并仍向客户端显示实时事件?
【问题讨论】:
-
@CSharpRocks 哈哈,你刚刚提供了他已经包含的链接。
-
使用Logical architecture 和 Azure Storage(Blob) 有什么问题?
-
@RitaHan-MSFT 我心中唯一的问题是我能否实现将事件实时传递到 Web GUI?因为目前它全部由事件中心处理,每当有新事件时,它都会直接传递给 GUI,在
Logical architecture中,它被存储在 Blob 中,而不是直接传递给 GUI。一旦有新事件,我需要更新 GUI。
标签: architecture azure-web-app-service iot azure-eventhub azure-iot-hub