首页 文章

WSO2 CEP窗口时间为1天

提问于
浏览
0

我正在评估ATM卡交易欺诈检测的不同可能解决方案,输入负载约为每秒50000,响应时间为几秒 .

WSO2 CEP看起来更适合整体解决方案,但由于我是WSO2 CEP的新手而遇到了内存和性能问题所以请在CEP WSO2 / CEP中建议以下有更好的方法 .

为了检测欺诈,我们必须在1天的时间段内捕获数据聚合,这会导致内存溢出或性能损失 .

1)由于CEP试图将所有记录保存在内存中一整天,导致内存不足

from instream#window.time(1 day) 
select sum(amount) as totalAmt;

2)在尝试从表中加载所有记录以执行某些操作时,导致性能下降 .

define table instream_table (....) from ( datasource,table,cache policy) ;

from instream#window.length(1) join instream_table
on instream.card_id==intable.card_id
select sum(instream_table.amount) as totalAmt;

最糟糕的事情我注意到CEP触发 select * from instream_table 而不是为card_id添加偶数where子句,我期待CEP足够聪明才能解雇 select sum(amount) from instream_table where card_id=xxxxx

我已经在WSO2 CEP中查看了窗口的文档但是找不到任何优化方法,因为它看起来像WSO2 CEP尝试内存中的所有内容 .

让我知道是否有任何解决方法或更好的解决方案来实现这一目标 . 我已经看过像esper这样的其他CEP引擎,但似乎每个人都以同样的方式这样做 .

1 回答

  • 0

    它似乎是事件表中的一个已知错误..我已经创建了一个jira来跟踪[1]中的问题,并为该问题添加了一个补丁..将在下一个版本中修复该问题..

    [1] https://wso2.org/jira/browse/CEP-866

    谢谢..

相关问题