WSO2SP:处理不同计算的正确方法是什么?
WSO2SP: What is the correct way to handle different calculations?
想象一下发送值的许多不同传感器。
有一个后端,可以在其中输入基于传感器 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不同.
这种方法正确吗?
将用例划分到多个 siddhi 应用程序将有助于提高可维护性。它有时会导致多次部署相同的查询,这很好。
虽然我建议在管道的开始处使用过滤器以仅过滤掉需要处理的事件,以提高效率。
from SpeedStream[id == "s1"]
select *
insert into FilteredSpeedStream;
现在,FilteredSpeedStream 可以在以后的查询中使用,如果没有过滤器,FilteredSpeedStream 将只有一种传感器类型的事件,从而提高管道效率。
想象一下发送值的许多不同传感器。 有一个后端,可以在其中输入基于传感器 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不同.
这种方法正确吗?
将用例划分到多个 siddhi 应用程序将有助于提高可维护性。它有时会导致多次部署相同的查询,这很好。
虽然我建议在管道的开始处使用过滤器以仅过滤掉需要处理的事件,以提高效率。
from SpeedStream[id == "s1"]
select *
insert into FilteredSpeedStream;
现在,FilteredSpeedStream 可以在以后的查询中使用,如果没有过滤器,FilteredSpeedStream 将只有一种传感器类型的事件,从而提高管道效率。