【发布时间】:2015-07-07 16:21:35
【问题描述】:
我目前正在开发一个托管在 Azure 上的应用程序,该应用程序使用 Azure 事件中心。基本上我是从 Web API 向事件中心发送消息(或者应该说是事件),并且我有两个侦听器:
- 用于实时分析的流分析任务
- 一个标准工作角色,它根据收到的事件计算一些内容,然后将它们存储到 Azure SQL 数据库(这是一个 lambda 架构)。
我目前正在使用EventProcessorHost 库从我的辅助角色内的事件中心检索我的事件。
我正在尝试找到一些关于如何使用事件中心的最佳实践(使用事件中心比使用服务总线队列要困难一些,即流式传输与消息消耗),我发现有些人说 从我的事件中心检索EventData 事件后,我不应该进行大量处理。
具体来说:
请记住,您希望相对保留您正在做的任何事情 快速 - 即不要尝试从这里做很多流程 - 就是这样 消费群体。
本文作者在 Event Hub 和 工人角色(从 cmets 不清楚是否真的需要 与否)。
所以问题是:我应该在事件中心之后直接进行所有处理工作(即在我的IEventProcessor 实现的ProcessEventsAsnyc 方法中),还是应该使用事件中心和处理对象之间的队列?
任何有关如何正确使用事件中心的事件的建议都将不胜感激,文档目前有点......缺失。
【问题讨论】:
标签: c# azure azure-queues azure-eventhub lambda-architecture