规则引擎与风控系统02:规则引擎

上一节讲了工程师们在遇到突如其来的变化时会变成地中海的问题。这对每家公司的工程师来说都是一个不可回避的挑战。毕竟,谁都不愿意自己做的产品被人给薅秃了还干瞪眼解决不了。那现在,我们先看看怎么解决规则变化的问题。

由于运行规则总是会变来变去,而技术同学又不想每次规则变化就改一次代码然后变成地中海。也就是说,必须有一种技术手段,将活动规则和代码进行解耦,不管规则怎么变,代码都不用改。真有可以这么神奇么?——确实有一种这样的「解耦」技术,那就是「规则引擎」。

所谓「规则引擎」,根据某百科的解释是:「是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。它接受数据输入,解释业务规则,并根据业务规则做出业务决策」。

规则引擎起源于较早的专家系统,它可以分离业务逻辑和具体执行规则,例如「下订单增加积分」业务逻辑和「不同金额增加不同的积分」这类规则就可以进行分离。虽然这种场景可以用策略模式或者其他技术手段解决,但使用规则引擎来实现它扩展性可能会更好:它把约束、完整性、校验、分支等都算到业务规则里,并且在能运行时动态地管理和修改。

目前,基于Java开源的规则引擎有:Drools、Easy Rules、Mandarax、IBM ILOG,其中影响力最大并且使用最的就是Drools。Drools是用Java编写的开源规则引擎,它使用Rete算法对规则执行逻辑求值。它由几个主要部分组成:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值