分享一个Drools规则引擎微服务Docker部署

通常我们都是把Drools作为嵌入式使用,但在微服务泛滥时代,还在老套的嵌入式显然不符合微服务架构要求,本文分享一个把Drools作为微服务独立部署的方案。

本方案基于Drools引擎微服务,提供REST接口。

  • 1、可以动态部署Drools规则
  • 2、规则存储在RDBMS中
  • 3、可以动态运行规则,运行模式有两种,
  • 3.1. 一种是直接输入一组数据,运行规则后返回反结果
  • 3.2. 一种模式是从源数据逐页读取数据,执行规则处理后,输出结果到目标数据源中。
  • 4、可以动态修改规则,修改后重新部署规则。

另外,我们还支持业务人员采用图形方式配置规则(SourceRule),然后再编译成Drools的规则文件,然后再部署到规则服务中。

定义:

  • 1、domain:规则领域,定义规则的分组,比如:税务计算,工资计算,考勤计算等。
    • 每个domain内的所有规则会同时调用,比如有若干个工资计算规则,它们会按顺序一起执行。
    • 每个domain会有同一个数据源和数据目标配置。
  • 2、SourceRule:基于可视化图形,由业务人员定义的源规则,源规则会编译成Drools规则文件,然后部署到规则服务中。

模块结构:

    1. irmp-rule-api:提供REST接口定义,方便客户端自己根据定义实现远程客户端,调用服务。
    1. irmp-rule-service:规则引擎服务提供模块,提供规则引擎,规则存储,规则执行等核心功能。
    1. irmp-rule-client:规则引擎客户端,基于Spring-boot Rest Client框架,实现规则引擎客户端,方便客户端调用。

未完待续。。。

代码链接:https://gitee.com/iisp_team/irmp-rule

依赖项目:分享系列项目的基础项目

相关推荐
microrain15 小时前
把规则链存成文件之后,上线一条规则只需改一个字段
物联网·golang·规则引擎·sagooiot
LQQrk智能排产物联网规则引擎3 天前
设备离线≠网络故障:JVS-IOT中7类隐性离线根因解析(技术排查实操指南)
规则引擎·jvs-iot·物联网运维·mqtt权限·物模型调试·设备影子·网关绑定
jonyleek4 天前
规则引擎 ≠ 决策引擎:JVS-Rules 在金融风控中的能力解耦实践(含决策编排实现原理)
规则引擎·函数计算·金融风控·jvs-rules·决策编排·实时决策·低代码配置
SL-staff7 天前
JVS-Rules金融风控实践:四大原生能力的技术实现与可落地配置指南
java·决策树·规则引擎·函数计算·金融风控·jvs-rules·数据源抽象
jonyleek14 天前
规则引擎可测试性实践:JVS-Rules三步实现在线调试、日志追踪与变量溯源
规则引擎·在线调试·jvs-rules·可测试性·变量溯源·实时日志·规则沙箱
SL-staff16 天前
JVS-Rules金融风控实践:四大原生能力的技术实现与可操作拆解
规则引擎·函数封装·金融风控·风控建模·jvs-rules·决策流编程·数据源抽象
LQQrk智能排产物联网规则引擎16 天前
规则上线从3天到3分钟:JVS-Rules热更新实践——基于Spring Cloud的无重启规则发布方案
springcloud·微服务架构·热更新·规则引擎·灰度发布·jvs-rules·规则测试
jonyleek17 天前
设备离线自动处置SOP:从if-else到规则联动的运维提效实践
规则引擎·物模型·零代码自动化·jvs物联网·iot运维·设备离线·企业微信api
LQQrk智能排产物联网规则引擎18 天前
JVS-Rules 实战:用变量加工 + 策略编排构建可审计的企业级规则中枢
规则引擎·金融风控·jvs-rules·策略编排·变量治理·可审计系统·业务规则
jonyleek1 个月前
JVS-Rules三步分离法:用规则引擎实现风控逻辑的权责解耦与可审计落地
低代码·规则引擎·风控系统·jvs-rules·jvs·可审计架构·权责解耦