今天介绍一款开源的可视化Web开发平台:RuleEngine。这个系统提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!
特性
-
操作简单: 无需开发人员即可配置复杂的规则业务,提供了非常方便的操作界面,小白也可以驾驭自如。
-
功能多: 我们提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。
-
高性能: 规则配置后动态加载到内存中,独创了一套自己的规则模式匹配算法以及数据结构,可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。
技术栈
-
SpringBoot 2.2.11 -
RabbitMQ -
Redis、Redisson -
MySQL 5.7.9 -
Mybatis-plus -
Maven 3.3 -
Swagger
基础组件包括参数、变量、函数、条件,功能包括普通规则、规则集、决策表
使用
下面使用普通规则来实战一下。
说明
普通规则主要完成一些比较单一简单的业务场景。由条件集与结果和默认结果组成。
规则配置
以下配置一个演示规则,表示当(用户最小年龄 and 选择在北京的用户) or 用户薪资 满足时,返回true

说明:
-
条件组可以上下拖动顺序,条件组内的条件也可拖动顺序,引擎执行时按照配置循序顺序执行! -
双击条件可以修改编辑!
默认结果
如果配置了默认结果,当结果未命中时会执行默认结果!类似程序中的else
规则预览
方便对配置的规则进行查看,提供预览视图,如下

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

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

说明
❝
此运行测试使用的为临时待发布数据!
❞
规则发布
规则点击发布后将会改变线上集群中的所有规则运行,并且下次再次启动时将直接加载到规则引擎中。 发布后外部服务即可掉用此规则或规则新版本。

点击右上角的复制按钮,复制如下信息,即可调用线上的规则了
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进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!
文明发言,以
交流技术
、职位内推
、行业探讨
为主
广告人士勿入,切勿轻信私聊,防止被骗
原文始发于微信公众号(Java知音):牛哄哄的 Web 可视化配置引擎,可以零代码实现复杂业务逻辑!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/164518.html