分享一个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

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

相关推荐
jonyleek10 天前
JVS-Rules三步分离法:用规则引擎实现风控逻辑的权责解耦与可审计落地
低代码·规则引擎·风控系统·jvs-rules·jvs·可审计架构·权责解耦
jonyleek12 天前
不是所有APS都叫‘智能’:交期预估准确率背后的动态变量逻辑
规则引擎·制造业·aps系统·jvs-aps·动态排产·制造执行·交期预测
jonyleek12 天前
JVS-Rules vs Drools:业务人员零编码配置风控规则的可行性分水岭
低代码·规则引擎·drools·风控系统·jvs-rules·jvs·jvs软开企服
RuoyiOffice12 天前
SpringBoot3 企业薪酬核算:考勤、绩效与薪资规则如何算出一张可解释的工资单
spring boot·vue3·规则引擎·hrm·ruoyi office·薪酬核算·薪资试算
jonyleek19 天前
JVS-IOT 数字孪生实战指南:作为容错缓冲层的工程实现与规则安全调用
边缘计算·数字孪生·规则引擎·工业物联网·容错设计·物模型·jvs-iot
SL-staff1 个月前
规则引擎如何实现风控报告的自动化?JVS-Rules提供解决方案
大数据·自动化·excel·规则引擎·jvs-rules·风控报告·数据溯源
凤山老林2 个月前
轻量级规则引擎落地:Spring Boot 集成 LiteFlow 实现动态业务编排与热更新
java·spring boot·后端·规则引擎·liteflow
SL-staff2 个月前
AB测试数据失真根因与变量热替换实战:JVS-Rules函数计算器架构解析
java·运维·微服务·函数式编程·规则引擎·变量管理·营销技术
k4m7v2pz2 个月前
Rust 规则热重载实战:用 serde_json + notify 告别重启
开发语言·rust·json·规则引擎·notify·热重载
慧都小妮子2 个月前
ThingsBoard PE 智慧灌溉:实现精准灌溉与水资源优化利用
物联网·mqtt·智慧农业·iot·规则引擎·thingsboard·精准灌溉