什么是规则引擎
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
规则引擎能做什么
降低复杂业务逻辑组件复杂性、降低应用程序的维护和可扩展成本。
常见应用场景
1.风控配置
2.用户积分
3.离线计算
4.商品等级
应用规则引擎带来哪些好处
1.逻辑和数据隔离
2.可扩展性高
3.可维护性高
4.知识集中化
5.提高业务灵活性
6.业务透明度增强
7.减少系统频繁迭代升级风险
8.简化系统架构
核心组件
Fact
事实对象,对于真实事物或者事实的承载对象,例如:登录事实对象,可能包含:登录ip,用户id,登录设备,近一一小时内登录成功次数,近一小时登录失败次数,可以理解为规则引擎所需要的输入参数。规则引擎会基于Fact对象和规则,构造DAG。
Rule
规则,由条件构成和结论构成的推理语句。例如:if ... then ... else .....,if 登录ip in 黑产ip列表内,then 命中登录黑名单 else 放行。这里的规则通指,if..then...else...的原子规则,而非多条件多关系的规则集。
LHS
规则的左半部分,通常指规则的if.... 部分。进一步细化,一般是指,具体的左半边因子,操作符

本文介绍规则引擎的基本概念,其如何通过分离业务逻辑来提高应用程序的可维护性和灵活性。探讨了规则引擎的核心组件,如Fact、Rule、LHS及RHS等,并对比了几种主流规则引擎的技术特点,包括Drools、EasyRules、Aviator和URule等。
最低0.47元/天 解锁文章
5万+





