规则引擎调研

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

规则引擎的优点

  • 声明式编程
    规则可以很容易地解决困难的问题,并得到解决方案的验证。与代码不同,规则以较不复杂的语言编写; 业务分析师可以轻松阅读和验证一套规则。
  • 逻辑和数据分离
    数据位于“域对象”中,业务逻辑位于“规则”中。根据项目的种类,这种分离是非常有利的。
  • 速度和可扩展性
    写入Drools的Rete OO算法已经是一个成熟的算法。在Drools的帮助下,您的应用程序变得非常可扩展。如果频繁更改请求,可以添加新规则,而无需修改现有规则。
  • 知识集中化
    通过使用规则,您创建一个可执行的知识库(知识库)。这是商业政策的一个真理点。理想情况下,规则是可读的,它们也可以用作文档。
 

举例:

用户成就体系中,需要根据各种规则判断用户是否达到了某一等级。
 
B站新一代 golang 规则引擎的设计与实现
 
 
 
 
https://xie.infoq.cn/article/40bfff1fbca1867991a1453ac


gengine:

https://rencalo770.github.io/gengine_doc/#/introduce 

 

ice:

http://waitmoon.com/docs/#/?id=ice%e4%bd%bf%e7%94%a8

 

drools

https://www.jianshu.com/p/e713860b128e

 

urule

https://github.com/youseries/urule

 

 

 

https://www.cnblogs.com/feixiang-energy/p/15572292.html

https://juejin.cn/post/6972707259856093221

 https://www.cnblogs.com/rgqancy/p/12146343.html#5023636

posted @ 2022-03-17 19:28  人在江湖之诗和远方  阅读(437)  评论(0编辑  收藏  举报