暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oup:规则引擎rule模块

loulou分享 2020-12-14
840

前言

周末被一个朋友刺激到,已是老板还在不断学习前行,加上家里小家伙对学习态度超越了自己,感觉自己有点堕落,故加速完成该课题。随着很多外网的影响,可能再次调整大家对技术的认知,技术下沉速度和我公众号每天衍生文章的速度一样,来不及看就已经下沉,快速的下沉就意味着一点点落后,学习应用转换,形成循环,不断前行。

2020年就要过去了,又到回顾时刻,是否都达到自己的预期,是否能够支撑来年的前行?

正文

目前市面上在用的规则引擎包含drools、Camel、Ilog、aviator等,在应用领域的特点也不一,相关的细节没有具体去分析。参考文章https://zhuanlan.zhihu.com/p/156034248,考虑到规则引擎的动态性,独立构建模块oup-rule与oup-service同级别,支持分布式接入处理。为实现规则动态刷新、页面可视化配置、规则动态加载等属性,

在oup中规则引擎以无状态服务为目标,最终集成到oup方案中,整体集成方案如下:

依托drools的通用性,以快速集成为目标,遵循oup大方案的场景可扩、高复用、无状态、可扩展、高性能等设计特性,形成该方案,可满足日常使用。后续将以组件化的形式来进行每个点的升级。

集成步骤:

1、引入drools的相关库

2、依托fast-drools-spring-boot-starter,考虑其本地化存储以及与db结合的局限性,采用其部分源代码进行扩展。

3、完成规则及规则集表设计。

4、动态刷新规则到redis,实现规则文件、规则内容模板合并机制,形成线上线下的规则维护方式,开放配置及模板,支持热加载。

5、构建对外通用服务及监听,完善服务和监控运营内容。

6、优化drl规则内容,引入全局、微服务,支持drl直接对接微服务,并以微服务输出,形成可视化配置。

日常使用;

1、构建规则引擎维护表单,支持在线上传规则文件、下载规则文件。

2、微服务化调用,可指定规则或者规则集,不依赖特点对象,全部为通用对象。

3、监控匹配过程,输出相应的执行报告。

扩展:

1、对接规划引擎

2、规则配置可视化。




文章转载自loulou分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论