今天介绍一款开源的可视化Web开发平台:RuleEngine。这个系统提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!

特性

  • 操作简单: 无需开发人员即可配置复杂的规则业务,提供了非常方便的操作界面,小白也可以驾驭自如。

  • 功能多: 我们提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。

  • 高性能: 规则配置后动态加载到内存中,独创了一套自己的规则模式匹配算法以及数据结构,可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。

技术栈

  • SpringBoot 2.2.11

  • RabbitMQ

  • Redis、Redisson

  • MySQL 5.7.9

  • Mybatis-plus

  • Maven 3.3

  • Swagger

基础组件包括参数、变量、函数、条件,功能包括普通规则、规则集、决策表

使用

下面使用普通规则来实战一下。

说明

普通规则主要完成一些比较单一简单的业务场景。由条件集与结果和默认结果组成。

规则配置

以下配置一个演示规则,表示当(用户最小年龄 and 选择在北京的用户) or 用户薪资 满足时,返回true

c5d6b422c8fbb38d391da9cd6925580a.png

说明:

  • 条件组可以上下拖动顺序,条件组内的条件也可拖动顺序,引擎执行时按照配置循序顺序执行!

  • 双击条件可以修改编辑!

默认结果

如果配置了默认结果,当结果未命中时会执行默认结果!类似程序中的else

规则预览

方便对配置的规则进行查看,提供预览视图,如下

82c8c0342aea40fa045b215d8abb4d15.png
运行测试

方便对配置的规则进行测试,验证没问题了可以发布,提供了模拟运行的功能,功能如下

cb9bb73ae257b383b520fbf7f8f0616e.png

设置参数后点击运行,运行结果如下

01b20d4af45bb93b0b05b8103e144e81.png

说明

此运行测试使用的为临时待发布数据!

规则发布

规则点击发布后将会改变线上集群中的所有规则运行,并且下次再次启动时将直接加载到规则引擎中。 发布后外部服务即可掉用此规则或规则新版本。

7375a7975df1d8f63914a1316b067e2d.png

点击右上角的复制按钮,复制如下信息,即可调用线上的规则了

POST http://117.72.12.156:8011/ruleEngine/generalRule/execute 
Content-Type: application/json
x-workspace: default
x-access-key: 略
x-access-secret: 略 

{
      "code": "RuleTest",
      "input": {
            "salary": "略",
            "age": "略",
            "city": "略"
      }
}

说明

工作空间的accessKeyId与accessKeySecret通过管理员获取。

更多功能探索,可以参考官方文档:

  • http://ruleengine.cn/doc/quickstart/Quickstart.html

开源地址

  • https://gitee.com/aizuda/rule-engine-open

后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

d8c897097c55e4e51910d3c6d92f89ae.png

加我好友,拉你进群 
Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐