0

我正在研究一个包含许多规则的 Drools 项目。我们使用 Drools 规则进行验证。有许多字段和各种错误组合。在 Drools 工作台 6.4.0 中,我们使用 Guided Rules (with DSL) 向导来提供业务友好的 UI 来创建规则。问题是每个新的引导规则操作将只允许您创建一个规则,并将其保存为一个规则文件,即 .rdslr 文件。

如果我手动创建 drools 规则,我可以简单地将它们组合在一起,例如 10 或 20 条规则,放入一个规则文件中。使用 Web 引导规则 UI,有没有办法可以将新规则添加到现有的引导规则文件?否则,我将不得不为每个规则创建一个规则文件,最终会产生大量规则文件,很难在 Web UI 中导航。

如果我必须将每条规则保存在自己的规则文件中,规则文件的数量是否有限制?是否存在性能问题?

4

1 回答 1

2

如果我手动创建 drools 规则,我可以简单地将它们组合在一起,例如 10 或 20 条规则,放入一个规则文件中。使用 Web 引导规则 UI,有没有办法可以将新规则添加到现有的引导规则文件?否则,我将不得不为每个规则创建一个规则文件,最终会产生大量规则文件,很难在 Web UI 中导航。

如果条件几乎相同,我建议使用引导决策表。一排是一条规则。

如果我必须将每条规则保存在自己的规则文件中,规则文件的数量是否有限制?

实际限制,不是真的 - 使用适当的计算机硬件(CPU、RAM)很容易实现数千。

是否存在性能问题?

使用多个规则文件,没有。在启动时,Drools 将规则处理到内部缓存的表中,因此无论原始规则格式如何(例如,一个大的规则文件,都在单独的规则文件中),最终结果实际上都是相同的。

关于规则组织的性能问题,更多地取决于规则数量。运行时性能仍然非常好,有很多规则。正如预期的那样,我注意到系统中有更多规则的构建时间更长,但没有任何执行缓慢。

但规则数量从来都不是我见过的问题。糟糕的规则架构是关键的性能和维护问题,而不是规则数量。

于 2016-10-18T13:50:19.563 回答