drools规则动态化实践
💡
原文中文,约7200字,阅读约需18分钟。
📝
内容提要
通过开源规则引擎,可以实现线上化管理冗长的判断逻辑,比如drools,可以通过drl文件或者模板文件动态生成规则,也可以通过excel文件导入,拼装String,或者api方式,实现规则的动态化。Drools可以满足规则动态变化,规则统一管理的诉求,但是需要研发了解drl语法,学习曲线陡峭,分布式一致性需要自行处理。
🎯
关键要点
-
规则引擎用于线上化管理冗长的判断逻辑,避免大量if else语句。
-
开源规则引擎如Drools支持动态生成规则,但需要研发了解drl语法,学习曲线陡峭。
-
Drools支持通过drl文件、模板文件、excel文件导入等方式动态生成规则。
-
简单配置型规则可接入easycode,复杂规则则选择Drools。
-
Drools示例中展示了如何编写drl文件和使用KieSession进行规则匹配。
-
动态化实践中,Drools支持通过drt文件、excel导入、拼装String和API方式生成规则。
-
在实际项目中,Drools可用于管理复杂的缓冲池流向规则,支持动态修改。
-
动态生成drl文件的过程涉及模板和参数化,便于业务人员使用。
-
规则加载时可使用单例模式管理KieContainer,避免重复加载规则文件。
-
Drools的优点包括规则动态化方便、匹配性能好、内置方法丰富,缺点是分布式一致性需自行处理,学习曲线陡峭。
➡️