gpt4 book ai didi

wso2: cep: siddhi: 如何使时间窗口持久化

转载 作者:行者123 更新时间:2023-12-04 02:38:43 24 4
gpt4 key购买 nike

我们目前正在测试 siddhi wso2 cep。

我们需要能够在不丢失窗口(例如时间窗口)中积累的数据的情况下重新启动 wso2 服务器进程。

有没有办法使时间窗口持久化,以便服务器可以在不丢失其状态的情况下重新启动?

我们是否必须将服务器配置为使用持久性?

还是我们只需要调整查询并使用事件表?

这里是我们的查询示例:

from every data= DataInStream[state == 1] -> 
every event = EventInStream[event.no == data.no] within 24h
insert into duplicatesOutStream data.id as id

最佳答案

您可以通过启用快照使 CEP 保持其状态。文档可以是 found here .但请注意,这将“定期”(可在几分钟内配置)保持 CEP 的“完整状态”。由于这只是周期性地完成,您可能会丢失在上次快照操作之后到达的最新几个事件。如果您希望 cep 在崩溃后恢复,这是最简单的选择。

除此之外,没有其他方法可以使预定义的窗口持久化。但如果你愿意,你可以编写一个你自己的自定义时间窗口 ( documentation ) 来执行持久性并将其插入 CEP。

您也可以改用事件表。当您使用事件表时,您可以确保持久保存所有到达的事件。 (但这种方法的一个缺点是,与 Windows + 快照方法相比,这可能会影响性能)。

关于wso2: cep: siddhi: 如何使时间窗口持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20348326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com