【问题标题】:Stream data aggregation sorted by timestamp按时间戳排序的流数据聚合
【发布时间】:2015-06-06 03:01:46
【问题描述】:

我有一个用例,我从客户端接收事件,其中一些事件在逻辑上相关(属于单个会话),并且基于时间戳的事件之间存在明确的顺序。

现在,我想构建一个解决方案,该解决方案应该继续聚合事件,直到以时间戳递增的顺序接收到特定组的最后一个事件。因此,如果收到不按顺序的事件,则应将其保留到收到之前的事件为止。然后,继续根据特定组的密钥将其存储在 HBase 等数据存储中。

问题是一次此类不完整组的数量可能达到数百万,并且需要能够支持快速附加到不完整组并保持接收到的事件无序的东西。我该怎么办?

【问题讨论】:

  • 任何一点见解都会很明显。谢谢!

标签: messaging distributed-caching nosql-aggregation stream-processing nosql


【解决方案1】:

您可以使用事件流处理或复杂的事件处理框架http://en.wikipedia.org/wiki/Complex_event_processing。您编写一个查询/模式,将其加载到引擎中,为引擎提供事件,并且查询会在时间到来时不断更新或触发。

我喜欢 Codehaus Esper,它是开源的,但受限于非付费版本,例如,我必须实现事件存储并在应用程序启动时重新加载它们。另一种选择是 Drools Fusion,但我在 5 年前试用时发现它有问题。我最近正在研究 WSO2 CEP,但这件事的文档严重不足。

【讨论】:

    猜你喜欢
    • 2018-06-29
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    相关资源
    最近更新 更多