规则引擎推荐

229 天前
showB1  showB1

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

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

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

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

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

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

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

© 2021 V2EX