1

我们目前正在 Microsoft Azure 中编写应用程序,并计划使用事件中心来处理实时事件。

但是,在初始处理之后,我们将不得不将事件的进一步处理延迟 N 天。该过程将像这样工作:

事件触发 -> 将事件放入事件中心 -> 事件从事件中心获取并处理 -> 事件应延迟 X 天 -> 事件得到进一步处理(最后两个步骤可能是一个循环)

我们如何在不使用轮询或类似策略的情况下实现进一步事件处理的延迟。一种想法是使用 Azure 队列及其可见性超时,但根据文档,7 天是支持的最大值,我们的业务需求在 1-3 个月的最大值范围内。我们系统中的事件数量应为每天最多 10k。

任何想法将不胜感激,谢谢!

4

1 回答 1

1

正如您已经提到的 - EventHubs 仅支持保留 7 天的数据窗口。

事件中心通常用作实时遥测数据管道,其中数据搜索性能至关重要。对于 99.9% 的用例/场景,我们的用户通常需要最后几个小时,如果不是几秒钟的话。

但是,在实时处理结束后,如果您仍然需要在一段时间后重新分析数据,例如:对上个月的数据运行 Hadoop 作业 - 我们的搜索模式和存储并未针对它进行优化。我们建议将消息​​转发到专门用于大数据查询的其他数据归档存储。

As - 数据存档是我们大多数客户自然会寻找的一个要求 - 我们正在发布一项新功能,该功能可以自动将 AVRO 格式的数据存档到 Azure 存储中。

于 2017-01-28T07:52:29.200 回答