QLExpress开源项目背景和社区环境

简介:

# 一、QLExpress的项目背景以及发展轨迹

## 1、发展历史

  • QlExpress脚本语言解析工具诞生于2010年,是阿里玄难(真名:墙辉)根据当时汇金的业务需要开始编写。
  • 因为其良好的扩展性和过硬的稳定性,不断的被阿里的众多团队采用,也不断的增加功能、优化性能,到2011年升级为2.0版本。
  • 2012年发布到taocode作为阿里的开源产品之一,在开源社区受到很多好的意见和反馈。
  • 2013年升级到3.0版本,内部重构了语法定义和匹配的算法,代码逻辑变得清晰简单。
  • 2015年开始,随着阿里各项业务蓬勃发展,业务规则爆炸性增长,规则管理平台的产生,灵活部署的强需求,QlExpress经过60多个小版本的迭代,性能和功能更加趋于稳定,被更多的团队接受和认可,在双11洪流高峰、复杂规则业务配置平台等场景下也得到更好的实战考验。

2、社区&源码

开源地址:

https://github.com/alibaba/QLExpress

maven中央库依赖:

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>QLExpress</artifactId>
  <version>3.2.0</version>
</dependency>

阿里外部答疑群:

请加管理员微信:371754252(搜索QQ号码)

相关文章
|
新零售 Java C++
java脚本引擎的设计原理浅析
本人在阿里巴巴长期担任和负责规则引擎、流程引擎相关的技术开发,另外还负责开发和维护开源项目:https://github.com/alibaba/QLExpress QLExpress是一个脚本引擎工具,类似Groovy,JRuby等,是为了解决当时电商规则动态编译、表达式高精度计算、复杂布尔运算、自定义函数和操作符号、语法树生成等需求而设计的。
16959 0
|
4月前
|
人工智能 JSON Java
AI时代,我们为何重写规则引擎?—— QLExpress4 重构之路
AI时代下,规则引擎的需求反而更旺盛。QLExpress4 通过全面重构,在性能、可观测性和AI友好性上大幅提升。
1546 15
AI时代,我们为何重写规则引擎?—— QLExpress4 重构之路
|
NoSQL Java Redis
Springboot从2.x升级到3.x以后redis默认配置调整
Springboot从2.x升级到3.x以后redis默认配置调整
1515 0
|
6月前
|
机器学习/深度学习 人工智能 算法
Together可视化规则引擎
DMN标准定义了可视化规则引擎的技术规范,实现业务逻辑的图形化建模与高效执行。它打破技术壁垒,支持复杂算法与AI融合,提升企业敏捷性,降低运维成本,推动规则引擎向通用算法引擎演进。
|
3月前
|
缓存 开发工具 git
QLExpress使用及源码分析
QLExpress是阿里开源的轻量级规则引擎,支持通过YAML配置表达式规则。支持AST语法树解析、上下文构建与动态执行,提供脚本缓存、别名映射、指令重写等扩展能力,适用于灵活的业务逻辑解耦与动态化控制。
|
Java API
QLExpress功能清单
QLExpress从一开始就是从复杂的阿里电商业务系统出发,并且不断完善的脚本语言解析引擎框架,在不追求java语法的完整性的前提下(比如异常处理,foreach循环,lambda表达式,这些都是groovy是强项),定制了很多普遍存在的业务需求解决方案(比如变量解析,spring打通,函数封装,操作符定制,宏替换),同时在高性能、高并发、线程安全等方面也下足了功夫,久经考验。
22384 1
|
数据可视化 Java
探索Drools:Java世界的规则引擎
探索Drools:Java世界的规则引擎
1559 1
|
算法 Java JavaScript
规则引擎
我是阿里巴巴做规则引擎相关工作多年的java工程师一枚,本职工作就是通过规则引擎、规则管理平台等技术输出,来应对阿里巴巴复杂多变的上层规则相关业务的支持。限于技术保密、安全等因素,本文只讲一些个人对“规则引擎”的看法,欢迎大家一起探讨。
27012 1
QLExpress的基本语法
1、操作符和java对象操作 普通java语法 //支持 +,-,*,/,<,>,<=,>=,==,!=,<>【等同于!=】,%,mod【取模等同于%】,++,--,&&,|| //in【类似sql】,like【类似sql】,&&,||,!,等操作符 //and、or 和java里面的&& || .
28206 0
|
Java 数据管理 关系型数据库
Spring Boot中实现多数据源配置
Spring Boot中实现多数据源配置