规则引擎Drools (1)

规则引擎Drools解决了硬编码业务规则的维护难题,实现了业务规则与系统代码的分离,允许在运行时动态修改规则。它提供了一个平台,使得业务人员能直接管理规则,提高响应速度和灵活性。Drools适用于风险控制、反欺诈、决策平台和促销系统等场景,简化了复杂业务规则的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

规则引擎概述

参考b站黑马博学谷Drools视频,侵权请联系删除

背景

  1. 硬编码实现业务规则难以维护;
  2. 硬编码实现业务规则难以应对变化;
  3. 业务规则发生变化需要修改代码,重启服务后才能生效。

通过规则引擎Drools可以解决上述问题。

什么是规则引擎

规则引擎,全称是业务规则管理系统。主要思想是将应用程序中的业务决策部分分离出来,使用预定义的语义模块编写业务规则,由用户或开发者在需要时进行配置、管理。

规则引擎不是一个技术框架,指的是一类系统,即业务规则管理系统。目前的规则引擎产品由:Drools,VisualRules,iLog等。

规则引擎实现了将业务决策从应用程序代码中分离出来,接受数据输入,解释业务规则,并根据业务规则做出业务决策。规则引擎其实就是一个输入输出平台。业务应用和规则引擎的关系如下图:
业务与规则引擎的关系
系统中引入规则引擎后,业务规则不再以程序代码的形式留在系统中,取而代之的是处理规则的规则引擎,业务规则存储在规则库中,完全独立于程序。业务人员可以像管理数据一样对业务规则进行管理,比如查询、添加、更新、统计、提交业务规则等,业务规则被加载到规则引擎中供应用系统调用。

规则引擎的优势

  1. 业务规则与系统代码分离,实现业务规则的集中管理;
  2. 在不重启服务的情况下可随时对业务规则进行扩展和维护;
  3. 可以动态修改业务规则,从而快速响应需求变更;
  4. 规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则;
  5. 减少了硬编码业务规则的成本和风险;
  6. 使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单。

规则引擎应用场景

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

  1. 风险控制系统一风险贷款、风险评估
  2. 反欺诈项目一银行贷款、征信验证
  3. 决策平台系统一财务计算
  4. 促销平台系统—满减、打折、加价购

Drools介绍

Drools是一款由JBoss组织提供的基于java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(如数据库),使得业务规则的变更不需要修改项目代码或重启服务器就可以在线上环境立即生效。

Drools api开发步骤如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值