高性能,易用的规则引擎

规则引擎很多人都听过,实现方案有很多:

1、用开源的方案  drools 基于 RETE 决策算法

2、基于groovy java 动态语言

3、自研的规则引擎

在我们选型过程,发现drools性能并不是很好,于是决定自研

思路通过 javaassist把java代码规则生成一个方法,支持本地规则和远程规则

测了下性能还算不错,比drools高一个数量级,性能还算不错, 简单贴下使用方法

UserFact userFact =new UserFact();

userFact.setAge(32);

userFact.setDevice("iphone x");

userFact.setOs("mac");

userFact.setRegion("杭州");

userFact.setSex("男");


RuleEngine ruleEngine = RuleEngine.getInstance("abtest",new LoadRuleFromClassPath());

AbAction abAction = ruleEngine.execute(userFact);

assertNotNull(abAction);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容