目前在用 Easy Rules 做一个小项目,但是发现对于大数据量的实时数据读取,没办法把 规则定义 和 数据读取 分开,不得不一边读一边处理
好像和规则引擎 [(事实数据 Facts + 规则定义 Rules )->规则引擎->执行结果] 的模式不符
想知道是我对规则引擎的认知有误区还是
有没有了解别的规则引擎比如 Drools 的老哥可以解答下困惑
1
GeekGao 2023-11-09 21:07:38 +08:00
Drools 是一个功能强大的规则引擎,它提供了更丰富的特性和更高级的规则定义方式,可以更好地满足处理大数据量的实时数据的需求。Drools 使用基于业务规则的方式来定义规则,将事实数据( Facts )和规则定义( Rules )分离,然后使用规则引擎执行规则并产生执行结果。
在 Drools 中,您可以将规则定义以规则文件的形式进行配置,而数据读取可以通过将事实数据插入到规则引擎的工作内存中来完成。这使得规则定义和数据读取可以分离,从而更好地组织和管理规则。 数据读取是指将实际的数据插入到规则引擎的工作内存中,以供规则引擎使用。工作内存是规则引擎在运行时使用的内存区域,用于存储规则引擎需要的数据和中间结果。通过将数据读取和规则定义分离,我们可以在不修改规则文件的情况下,动态地向工作内存中插入不同的数据,从而改变规则引擎的行为。 |
4
zouzls 2023-11-10 00:59:30 +08:00 via iPhone
没太明白你说的分不开是啥意思,理论上规则里面本身就包含有具体的数据,如果要想分开,是应该给规则抽象出模板,规则执行的时候再去加载具体的数据,完成规则匹配。
|
5
xianzhe 2023-11-10 01:02:33 +08:00 via Android
我理解规则引擎比较适合规则多变,但是规则传入参数变化相对少的情况,如果在规则里有大量的数据读取是不是说你规则的入参就很多变,需要根据某些条件取到数据,这种情况可能并不适合规则引擎,,个人愚见
|
7
lm930129 2023-11-10 09:09:32 +08:00
规则引擎里面,一般是做逻辑判断的,本来就不是拿来做大数据处理的,做数据处理不如用 ETL 完成
|
8
singer 2023-11-10 09:39:52 +08:00 via iPhone
规则引擎匹配规则再执行指定的行为。
你还需要为规则引擎建设好它的配置中心,数据中心,ETL 服务。不然单规则引擎用起来是很鸡肋的 |
9
flmn 2023-11-10 12:23:21 +08:00 1
我回复点有用的吧:
- [智能风控决策引擎系统架构设计与开发实践]( https://mp.weixin.qq.com/s/Ev0YfecsIaIZ8AL48XjfKg) - [美团酒旅实时数据规则引擎应用实践]( https://tech.meituan.com/2018/04/19/hb-rt-operation.html) - [网易考拉规则引擎平台架构设计与实践]( https://sq.163yun.com/blog/article/213006222321659904) - [规则引擎:大厂营销系统资格设计全解]( https://www.infoq.cn/article/kkxMqR5WP7IHfCtEwdMa) - [复杂风控场景下,如何打造一款高效的规则引擎]( https://tech.meituan.com/2020/05/14/meituan-security-zeus.html)[InfoQ]( https://www.infoq.cn/article/a4OwNwCx5arfCsFssTEs) - [智能风控决策引擎系统可落地实现方案(一)规则引擎实现]( https://studygolang.com/articles/30836) - [从 0 到 1:构建强大且易用的规则引擎]( https://tech.meituan.com/2017/06/09/maze-framework.html) - [有赞风控规则引擎实践]( https://tech.youzan.com/rules-engine/) - [easy-rules mvel yaml 格式规则配置&&试用]( https://www.cnblogs.com/rongfengliang/p/12686702.html) - [从滴滴的 Flink CEP 引擎说起]( https://zhuanlan.zhihu.com/p/43333283) |