针对规则改变,要想实时生效,有两种建议: 1. 利用维表join的功能来join数据库中的规则,flink内部可以配置一定的缓存策略。可以查看下Lookup的实现。 2. 也可以把规则打到kafka的表里,然后通过broadcast来广播最新的规则。
李军 <hold_li...@163.com> 于2020年9月4日周五 下午5:46写道: > 您好! > > > 可以使用Flink+drools 做。drools可以实时更新规则 > 2020-9-4 > | | > 李军 > | > | > hold_li...@163.com > | > 签名由网易邮箱大师定制 > 在2020年8月6日 10:26,samuel....@ubtrobot.com<samuel....@ubtrobot.com> 写道: > 由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢! > > 告警有分两部分: > 一是告警规则的设置,数据存放在mysql,存储的格式是json > {"times":5} ---就是事件发生大于5次就发出告警; > {"temperature": 80} ---就是温度大于80就告警; > 二是告警实现 > 1)上报的数据写入到kafka > 2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。 > > > 现在遇到的问题是: > 1. 当规则变更时,如何及时生效? > 2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效? > 3.这一功能有最佳实践吗? > > 希望哪位解答一下,谢谢! > > > >