实时规则编辑和KafkaStreams

时间:2016-10-11 14:53:25

标签: complex-event-processing siddhi apache-kafka-streams

我要求允许“业务”用户创建和编辑从输入流中提取的数据的规则。规则必须是商业友好的,不能有任何开发周期。以下是我的想法的一个例子:

"if weatherStation.id == 100 and weatherStation.temp < 33 and detectedPctWipersOn = 90% 
then return true 
else return false"

由于摄取了气象站和连接的车辆流数据,我需要应用此规则,但如果规则更改为,detectPctWipersOn = 75%,则必须实时应用该规则,而无需重新部署或重新启动。它需要由数据驱动。

Siddhi CEP(WSO2 CEP)似乎只支持“已部署”规则。 是否还有其他CEP产品可以提供我所需要的产品,特别是如果它们与KafkaStreams搭配得很好?

如果我必须自己滚动,是否有针对此问题推荐的“流”设计模式?

1 个答案:

答案 0 :(得分:0)

对于此要求,请尝试使用CEP产品,而不是使用Siddhi引擎。它附带一个query templating facility,您可以在其中使用一些预定义的模板,其中只有参数公开给要配置的用户。例如:WeatherStationTemperature。更改参数后,内部CEP将重新部署查询,更改将立即生效。

这对于像示例中的过滤器这样的无状态查询非常有效,但是如果使用窗口,模式等,状态将会丢失。因此,您可能需要使用数据库支持的表/窗口来正确实现这样的用例。