规则引擎推荐

143 天前
 showB1

诸位好呀,我们现在有个模块需要大量的条件判断,看着写的大坨大坨的 if 。。。很头疼,想在 team 中引入。可我这块经验只在以前的风控中用过 grule 。 想调研一下,grule 、goval 、gengine 或者还有其他的吗?谁能点评一下,各有什么优劣。 团队技术栈以 go 为主,python 次之。大多数有几年 c 艹、java 经验。

3504 次点击
所在节点    程序员
27 条回复
sospopo101343793
143 天前
sin30
143 天前
skiworld11
143 天前
s-exp
ufan0
143 天前
首先排除 drools
GeekGao
143 天前
轻量级的么,可以考虑一下 google cel
iyear
143 天前
expr-lang 相比各种语言虚拟机更轻,做规则引擎够用了。如果更复杂的话就考虑引入 goja ,gopher-lua 的语言实现吧
covering
143 天前
把条件表格整理成二维数组,写个循环按顺序匹配。要引入新的框架,大概率 review 不好过
xinshoushanglu
143 天前
drools 不好用,而且太老旧了。我们现在用 liteflow 嵌脚本来实现规则定制
Desdemor
143 天前
https://github.com/expr-lang/expr 补个楼上的链接
kaiccc
143 天前
liteflow 还可以,满足我们的需求
wingoo
143 天前
记得好像 b 站有一个, 不知道有没有用过的
好像就是 gengine, 看了下 最后更新日期 2021, 可以排掉了
airycanon
143 天前
airycanon
143 天前
补充 #12 优点是可以支持复杂的语法,相当于一个简单的脚本语言了。
mightybruce
143 天前
我提供一个能实现各种功能,直接解释并运行 go 小段代码的 go 库,达到 go 嵌套 go 的效果
https://github.com/traefik/yaegi

想做什么都能达到哦, 毕竟这个是一个 go 解释库
mulychou
143 天前
借楼问一下,java 有推荐的吗
qfmy1991
143 天前
QLExpress 阿里的
Ico945
143 天前
感觉自己的逻辑翻译成规则引擎 dsl 这一步也挺费劲的
ryalu
142 天前
ryalu
142 天前
@mightybruce #14 哈哈,无限套娃是吗
SmiteChow
142 天前
想清楚规则谁来写?能不能停机更新?如果是非开发人员写或者需要热更新,才需要规则引擎,否则建议使用程序配置文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX