开发者社区> 问答> 正文

什么是规则引擎?

什么是规则引擎?

展开
收起
问问小秘 2020-04-27 16:31:09 928 0
1 条回答
写回答
取消 提交回答
  • 规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

    规则本质上是一个函数,如y=f(x1,x2,..,xn)

    规则引擎由三部分

    事实(Fact):就是用户输入的已经事实,可以理解为推理前的已知对象。
    LHS(Left Hand Side):可以理解为规则执行需要满足的条件。
    RHS(Right Hand Sike):可以理解为规则执行后的返回对象。

    两个重要模块:

    规则管理:可以理解为逻辑上管理规则,主要涉及规则、事实对象和规则集三个实体。涉及到规则变更时,最好对规则加个版本,可通过规则版本控制,可以平滑灰度地方式改变规则,也便于更有信心在测试规则正确性。
    规则执行:通过规则库数据,通过规则引擎的规则解析、规则编译将可执行代码缓存起来,避免每次和DB交互,然后每次规则的变更也通过ZK或者DCC实时通知给规则执行器。规则执行器的实现方式,可以多种多样,不依赖于规则库的存储方式,可以根据需求,选用Drools、Aviator等第三方引擎,甚至可以基于ANTLR定制。

    image.png

    2020-04-27 16:32:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
凡普实时数据处理架构 立即下载
基于流计算构建实时大数据处理系统 立即下载
基于streaming构建统一的数据处理引擎的挑战与实践 立即下载