【问题标题】:apache storm missing event detection based on time基于时间的apache风暴丢失事件检测
【发布时间】:2018-02-14 07:34:11
【问题描述】:

我想检测数据流中的缺失事件(例如,检测在接收后 1 小时内未响应的客户请求。) 在这里,我想检测“响应”事件并发出警报。

我尝试通过设置 TOPOLOGY_TICK_TUPLE_FREQ_SECS 来使用刻度元组,但它是在螺栓级别配置的,可能会在收到客户请求的第 15 分钟后出现。

@Override public Map getComponentConfiguration() {

Config conf = new Config();
conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 1800);
return conf; }

^ 这不起作用。

如果需要任何其他信息,请在 cmets 中告诉我。提前感谢您的帮助。

【问题讨论】:

  • 根据您的描述,我假设您无论如何都会在您的螺栓(或外部商店,如 Redis)中保留哪个用户 ID 在什么时间发出请求的状态。在这种情况下,为什么不定义一个非常短的滴答时间,比如 5 秒,并在每个滴答时查询状态是否过期?

标签: streaming apache-storm


【解决方案1】:

这可能有助于http://storm.apache.org/releases/1.0.3/Windowing.html

您可以定义 5 分钟的窗口,并根据收到的内容检查最后一个窗口事件和警报的状态

或创建一个中间螺栓来维护这些窗口并在超时的情况下发送正常的警报元组(而不是滴答元组)

【讨论】:

    猜你喜欢
    • 2022-08-20
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多