0

想象一下发送值的许多不同传感器。有一个后端,可以输入基于传感器 ID 和值的不同计算。这些计算转换为 siddhi 应用程序并部署在 siddhi 主机上。

为每个计算创建自己的应用程序的方法是否正确?

例子

from a=SpeedStream[a.id == "s1"], b=SpeedStream[b.id == "s1"]
select b.speed-a.speed as acceleration
insert into AccelerationStream

可能会多次部署相同的计算,其中只有a.idb.id不同。

这种方法正确吗?

4

1 回答 1

0

将用例划分到多个 siddhi 应用程序将有助于可维护性。它有时会导致多次部署相同的查询,这很好。

尽管我建议在管道的开头使用过滤器以仅过滤掉需要处理的事件,以提高效率。

from SpeedStream[id == "s1"] 
select *
insert into FilteredSpeedStream;

现在,FilteredSpeedStream 可以在以后的查询中使用,如果没有过滤器,FilteredSpeedStream 将只有一种传感器类型的事件,从而使管道高效。

于 2019-07-19T10:12:07.017 回答