拿规则引擎选型为例,规则比较简单的场景自己实现比较好,引入外部组件反而增加复杂度。引入外部组件一般是因为逻辑过于复杂,自行实现难以考虑全面,这种情况下考虑使用外部组件,而对于规则简单(只有一个运算符)、规则体量小的场景,自己实现一个简单的规则匹配性能更好,复杂度低,如果未来规则逻辑变复杂了,也可以较低成本的迁移。
不要有固化思维,觉得开源组件就一定比自己写的好,其实大部分性能不如自己写的好,因为组件考虑了很多复杂场景。
拿规则引擎选型为例,规则比较简单的场景自己实现比较好,引入外部组件反而增加复杂度。引入外部组件一般是因为逻辑过于复杂,自行实现难以考虑全面,这种情况下考虑使用外部组件,而对于规则简单(只有一个运算符)、规则体量小的场景,自己实现一个简单的规则匹配性能更好,复杂度低,如果未来规则逻辑变复杂了,也可以较低成本的迁移。
不要有固化思维,觉得开源组件就一定比自己写的好,其实大部分性能不如自己写的好,因为组件考虑了很多复杂场景。