规则引擎是一种嵌入在应用程序中的组件,其基于推理引擎发展,可实现将业务决策从应用程序代码中分离,并使用预定义的语义模块编写业务决策,可接收数据输入,解释业务规则,并根据业务规则作出相应的决策。
规则引擎的功能
- 实现将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策;
- 具体执行可以分为接受数据输入,解释业务规则,根据业务规则做出业务决策几个过程;
- 使用规则引擎可以将复杂、冗余的业务规则同整个支撑系统分离开,实现架构的可复用移植。
规则引擎的选型应用
相对于业务系统,规则引擎可看作是一个独立的模块,主要负责规则的计算等,一般来说,规则引擎主要应用在下面的场景中:
- 风控模型配置,风控是规则引擎;
- 用户积分等配置,如日常操作引起积分变化等;
- 简单的离线计算,各类数据量比较小的统计等。
目前常用的引擎规则
目前的规则引擎系统中,使用较多的开源规则引擎有:
- Ilog JRules 是最有名的商用 BRMS ;
- Drools 是最活跃的开源规则引擎;
- Jess 是 Clips 的 java 实现,就如 JRuby 之于 Ruby,是 AI 系的代表;
- Visual Rules(旗正规则引擎)国内商业规则引擎品牌。