0

我目前正在通过事件中心和 EventProcessorHost 进行斗争。到目前为止,我发现的所有指南都建议在 Azure 云服务辅助角色中运行 EventProcessor。由于这些部署和更新非常缓慢,我想知道是否有任何 Azure 服务可以让我在更敏捷的环境中运行 EventProcessor?

到目前为止,我的粗略架构看起来像这样

设备 > IoT 中心 > 流分析作业 > 事件中心 > [MyEventProcessor] > SignalR > 客户端...

或者也许还有另一种从 Steam Analytics 获取触发 SignalR 消息的方法?

任何建议都受到高度赞赏。

谢谢,菲利普

4

2 回答 2

1

您可以使用启用了 SignalR 的 Azure Web App 服务,并将您的管道“步骤”[MyEventProcessor] 和 SignalR 合并为一个步骤。我已经这样做了几次,从简单的 SignalR 聊天演示开始,并将事件中心接收器功能添加到 SignalR 处理中。那篇文章在方法方面接近我的意思。

你也可以看看 Azure WebJobs。基本上,它可以作为后台服务执行您的逻辑。WebJobs SDK 支持 Event Hub

于 2016-05-01T14:29:47.720 回答
0

您可以在将运行任意 C# 代码并继续运行的任何 Azure 事物中运行 EventProcessorHost。你应该在哪里运行它的选项最终取决于你想花多少钱和你需要什么。所以Azure 容器服务可能是新奇的部署系统,但它的最低成本可能不适合你。我正在运行我的二进制文件,这些二进制文件从普通 Azure 虚拟机上的 EventHubs 读取数据,而我们的部署系统负责管理它们。

如果您使用 SignalR 与客户端对话的前端进程有一个进程存在一段时间,您可以将每个进程设为自己的逻辑消费者(消费者组)并让它们消费整个流。或者即使他们没有留下来(即您正在使用在空闲时关闭进程的 Azure 托管选项),您也可以编写您的接收器以在流的末尾开始(而不是重新处理旧数据),如果这就是您的方案所需要的。

于 2016-05-01T22:34:50.373 回答