美文网首页
《规则引擎_Drools》

《规则引擎_Drools》

作者: tjhuey | 来源:发表于2022-09-13 09:58 被阅读0次

规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。
需要注意的是规则引擎并不是一个具体的技术框架,而是指的一类系统,即业务规则管理系统。目前市面上具体的规则引擎产品有:drools、VisualRules、iLog等。
规则引擎实现了将业务决策从应用程序代码中分离出来,接收数据输入,解释业务规则,并根据业务规则做出业务决策。规则引擎其实就是一个输入输出平台。

主要参考文档(如有侵权请联系作者,及时纠正)

https://blog.csdn.net/Dream_ling/article/details/123825818

系统中引入规则引擎后,业务规则不再以程序代码的形式驻留在系统中,取而代之的是处理规则的规则引擎,业务规则存储在规则库中,完全独立于程序。业务人员可以像管理数据一样对业务规则进行管理,比如查询、添加、更新、统计、提交业务规则等。业务规则被加载到规则引擎中供应用系统调用

2.2 使用规则引擎的优势

使用规则引擎的优势如下:

1、业务规则与系统代码分离,实现业务规则的集中管理

2、在不重启服务的情况下可随时对业务规则进行扩展和维护

3、可以动态修改业务规则,从而快速响应需求变更

4、规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则

5、减少了硬编码业务规则的成本和风险

6、使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单

2.3 规则引擎应用场景

对于一些存在比较复杂的业务规则并且业务规则会频繁变动的系统比较适合使用规则引擎,如下:

1、风险控制系统----风险贷款、风险评估

2、反欺诈项目----银行贷款、征信验证

3、决策平台系统----财务计算

4、促销平台系统----满减、打折、加价购

对标Nacos ,Nacos不擅长的东西

image.png

Working Memory:工作内存,drools规则引擎会从Working Memory中获取数据并和规则文件中定义的规则进行模式匹配,所以我们开发的应用程序只需要将我们的数据插入到Working Memory中即可,例如本案例中我们调用kieSession.insert(order)就是将order对象插入到了工作内存中。

Fact:事实,是指在drools 规则应用当中,将一个普通的JavaBean插入到Working Memory后的对象就是Fact对象,例如本案例中的Order对象就属于Fact对象。Fact对象是我们的应用和规则引擎进行数据交互的桥梁或通道。

Rule Base:规则库,我们在规则文件中定义的规则都会被加载到规则库中。

Pattern Matcher:匹配器,将Rule Base中的所有规则与Working Memory中的Fact对象进行模式匹配,匹配成功的规则将被激活并放入Agenda中。

Agenda:议程,用于存放通过匹配器进行模式匹配后被激活的规则。

Execution Engine:执行引擎,执行Agenda中被激活的规则
————————————————

drl文件语法 看时间讲述(非常重要)

springboot整合

WorkBench 略

分布式存储的问题

参考

个人认为最重要
https://github.com/secbr/drools/tree/master/springboot-drools-reload-rules?spm=a2c6h.12873639.article-detail.7.6b4b446axV5d7q

学习参考(阿里云开发者)
https://github.com/secbr/drools?spm=a2c6h.12873639.article-detail.5.6de26a10SXNvuJ
https://docs.drools.org/7.73.0.Final/drools-docs/html_single/index.html
主要参考
https://blog.csdn.net/Dream_ling/article/details/123825818

相关文章

  • Drools

    一. Drools规则引擎 Drools就是为了解决业务代码和业务规则分离的引擎。Drools 规则是在 Java...

  • Drools 规则动态编译运行

    背景 近期遇到一个规则引擎项目,甲方明确要求用Drools规则引擎,之前想象中Drools应该应用在风控、预警类场...

  • Drools介绍与使用

    Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允...

  • Drools集成SpringBootStarter

    1.说明 基于fast-drools-spring-boot-starter,能够方便的将规则引擎Drools集成...

  • Drools详解

    Drools规则引擎的结构示意图 Drools相关概念 事实(Fact):对象之间及对象属性之间的关系 规则(ru...

  • 规则引擎_Drools

    01、背景 技术产生的背景: 概念拆解:规则的引擎 规则,在怎样的情况(条件)下做什么事情(结论),转化为伪代码:...

  • drools的简单入门案例

    一、背景 最近在学习规则引擎drools,此处简单记录一下drools的入门案例。 二、为什么要学习drools ...

  • 关于规则引擎--easy rules

    一、常用规则引擎 Drools、easyRule、QlExpress、Aviator、Vincio按照GitHu...

  • SpringBoot入门建站全系列(三十四)使用Drools规则

    SpringBoot入门建站全系列(三十四)使用Drools规则引擎做排班系统 一、概述 Drools 是用 Ja...

  • Drools入门-实现评分专家系统

    1.什么是Drools Drools是一个规则引擎,可以通过自定义规则实现不同的专家语境,而不需要修改源代码,规则...

网友评论

      本文标题:《规则引擎_Drools》

      本文链接:https://www.haomeiwen.com/subject/dztwnrtx.html