想象一下许多发送值的传感器。 在后端,可以输入基于传感器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.id 和 b.id < / strong>不同。
这种方法正确吗?
答案 0 :(得分:0)
将用例划分为多个siddhi应用程序将有助于可维护性。它有时可能导致同一查询多次部署,这很好。
尽管我建议在管道的开始处使用过滤器,以仅过滤出需要处理的事件,以提高效率。
from SpeedStream[id == "s1"]
select *
insert into FilteredSpeedStream;
现在,FilteredSpeedStream可以在以后的查询中使用,而无需过滤器,FilteredSpeedStream将仅具有一种传感器类型的事件,从而使管道高效。