分享好友 最新资讯首页 最新资讯分类 切换频道
规则引擎专题---2、开源规则引擎对比
2024-12-29 10:15

开源的规则引擎整体分为下面几类

  • 通过界面配置的成熟规则引擎,这种规则引擎相对来说就比较重,但功能全,比较出名的有:drools, urule。

  • 基于jvm脚本语言,互联网公司会觉得drools太重了,然后会基于一些jvm的脚本语言自己开发一个轻量级的规则引擎,比较出名的有,groovy(开源风控radar),aviator,qlexpress。

  • 基于java代码的规则引擎:基于jvm脚本语言会有一些语法学习的成本,所以就有基于java代码去做的规则引擎,比如通过一些注解实现抽象的方式去做到规则的扩展,比较出名的有: easy rules。

这边重点介绍三款产品drools、qlexpress和groovy,先介绍下基础能力和优劣势,后面再进行详解。

drools是一款由JBoss组织提供的基于Java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、重启服务器就可以在线上环境立即生效。

drools官网地址:https://drools.org/

drools源码下载地址:https://github.com/kiegroup/drools

在项目中使用drools时,即可以单独使用也可以整合spring使用。如果单独使用只需要导入如下maven坐标即可

 

如果我们使用IDEA开发drools应用,IDEA中已经集成了drools插件。如果使用eclipse开发drools应用还需要单独安装drools插件。

drools API开发步骤如下

Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。

由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。
在阿里集团有很强的影响力,同时为了自身不断优化、发扬开源贡献精神,于2012年开源。

QLExpress脚本引擎被广泛应用在阿里的电商业务场景,具有以下的一些特性:

1、线程安全,引擎运算过程中的产生的临时变量都是threadlocal类型。
2、高效执行,比较耗时的脚本编译过程可以缓存在本地机器,运行时的临时变量创建采用了缓冲池的技术,和groovy性能相当。
3、弱类型脚本语言,和groovy,javascript语法类似,虽然比强类型脚本语言要慢一些,但是使业务的灵活度大大增强。
4、安全控制,可以通过设置相关运行参数,预防死循环、高危系统api调用等情况。
5、代码精简,依赖最小,250k的jar包适合所有java的运行环境,在android系统的低端pos机也得到广泛运用。

常见能力对比如下

规则引擎QLExpression (ms)groovy(ms)drools(ms)动态规则支持支持支持灵活性低高中复杂度低高中上手快慢慢使用广度中中高

执行性能对比如下

执行次数规则引擎QLExpression (ms)groovy(ms)drools(ms)100w15901713641000w1255170935305000w60230351619414
最新文章
图片生成链接地址:提取图片地址简便方法
图片生成链接地址的方法多种多样,以下是一些常见且实用的方法大全:1. Imgur步骤:访问Imgur网站(imgur.com),上传你想要转换
最新Google SEO优化排名技术(10大技术总结)
在不断变化的数字营销环境中,SEO(搜索引擎优化)策略也在不断演变。掌握最新的高级SEO技巧可以帮助你在竞争中脱颖而出,提升网
补大单是什么意思(了解如何有效淘宝补单)
在淘宝上开店的很多商家都经常去补单,所以大部分的人都了解补单是怎么回事,不过如果有人说补大单的话,部分的商家可能就不清楚
排列五开奖结果第2021055期 一等奖中出0注
  每天晚上20点30分,一起来和我关注体彩排列五开奖结果。今天是2021年03月06日,中国体育彩票排列三第2021055期开奖号码如下
索辰科技:12月11日召开分析师会议,参加了东吴证券组织的策略会、参加了国金证券组织的策略会参与
证券之星消息,2024年12月12日索辰科技(688507)发布公告称公司于2024年12月11日召开分析师会议,参加了东吴证券组织的策略会、
【S810腾讯手机管家下载】TCL S810腾讯手机管家16.1.19免费下载
腾讯手机管家专注手机骚扰拦截,动态守护手机安全,深度清理微信、QQ缓存,让手机体积减半,拒绝卡慢。---认真服务---【骚扰拦截
搞笑漫画:两匹白马和一头驴的故事
五条腿真的好可怕呀,你们说对不对!!!骡子是马和驴的杂交种。公驴和母马的基因更容易结合,所以大部分骡子都是这样杂交的。公
用录音软件录音并上传到百度网盘保存资料和交流的方法
录音软件我使用的是绿色软件KekeRecorder,解压缩后1.33M,还有一个是GoldWave的绿色中文版HA_GoldWave557_HZ,解压缩后大小9.06
用于相似图片搜索引擎的Python OpenCV图像直方图
大概五年前吧,我那时还在为一家约会网站做开发工作。他们是早期创业公司,但他们也开始拥有了一些稳定用户量。不像其他约会网站
规则引擎系统开发经验与技术选型
最近两个月以来,一直在开发公司的规则引擎系统,起初是想把引擎用到CRM系统中,后来经过多次讨论、多次变更&