drools研究后记

在实际工作中,有关于达标判断的业务逻辑

就是谁谁谁 消费满了多少钱,就返多少钱的优惠券

声明:不是drools不好,只是在我遇到的场景下,不合适,不够好

在使用drools的时候发现有如下问题:

1、效率低。这是最严重的问题,实际业务环境,用户数量要几十万,还有很多业务相关的数据,他们要组合判断。实际情况是,插入working memory的fact数量超过万级,程序就开始hang住,gc日志打开后发现,系统不停的gc,用内存查看工具,发现drools生成了大量的内部对象,甚至有内存泄露的趋势。

这里猜测,应该是drools为了实现通用性,会把所有的自定义的实体,转化为它内部的节点,然后还有相关的一大堆附属,但是做得不够好,所以导致了上面的现象

这简直就是没法用了,时间有限,花大把时间把他源码搞清楚,再看看有没有留出钩子,或者重写源码,有这时间,还不如我自己实现达标判断了逻辑了呢,这样效率又能得到保证,运维成本还不高,毕竟关系到用户的钱,不能给算错了,遇到问题需要马上定位问题,万一遇到了一个drools的内部问题,说不定要多耽误事呢

实际自己实现的达标判断过程,在万级以内(就是在drools能承受的范围内),我自己优化后的算法,要比drools实现快10倍

2、不方便。具体体现在数据insert的过程,为了能够满足drl文件中所描述的数据结构以及他们的关系,必须提前构造相关的数据结构,很费力。而且这部分逻辑,写不好的话,也会写成一坨,虽然drl鼓吹的更易读,但是带来的副作用就是,外面的工作量很大

另外就是数据装载,一般都是从数据库读取数据,这里也没有一些api对这里做支持,它的api更多是面向内存对象的,并没有考虑到这点

3、社区支持。这个是我要吐槽的

说是社区活跃文档多啥啥啥的,太tm扯淡了,有个在线聊天的答疑的,进去喊话,从来没人吱声

文档写的那叫一个烂,就是堆砌,根本没考虑到读者的学习路径

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 05:50:04

drools研究后记的相关文章

【LabVIEW技巧】LabVIEW中的错误1

前言 前几日,小黑充电学习意外的看到了下面的这个东东. 编程许久竟然没有见过这样子的错误枚举,甚为好奇,问刘大后才知道是Error Ring,为此恶补一下LabVIEW中与错误处理相关的内容. 错误的生成 Error Ring Error Ring 的说明 Error Ring可以直接使用LabVIEW 定义好的一些错误或者自定义的错误,其帮助内容如下. 通过选板于Dialog& User Interface下面可以选择Error Ring 通过Quick Drop可以直接放置Error Rin

office2010安装不成功提示缺少MSXML 6.10.1129.0?

office2010安装 1. office重装 由于之前重装系统后安装office2010很顺利,这次删除office2010,由于没有删除干净,在程序删除面板中误点删除了其他文件所致,所以在此安装office2010页不能安装,网上查找了许多解决方案,其中有同坐修改注册表信息可以解决,但是后来的破解操作不能成功,再后来,就不能卸载office2010....以至于office陷于瘫痪状态,无奈,只能进行系统重装了. 删除office2010的原因是,由于我要安装Visio,但是64位的vis

Chrome自带恐龙小游戏的源码研究(七)

在上一篇<Chrome自带恐龙小游戏的源码研究(六)>中研究了恐龙的跳跃过程,这一篇研究恐龙与障碍物之间的碰撞检测. 碰撞盒子 游戏中采用的是矩形(非旋转矩形)碰撞.这类碰撞优点是计算比较简单,缺点是对不规则物体的检测不够精确.如果不做更为精细的处理,结果会像下图: 如图所示,两个盒子虽然有重叠部分,但实际情况是恐龙和仙人掌之间并未发生碰撞.为了解决这个问题,需要建立多个碰撞盒子: 不过这样还是有问题,观察图片,恐龙和仙人掌都有四个碰撞盒子,如果每次Game Loop里都对这些盒子进行碰撞检测

2016计算机大会后记——机器学习:发展与未来

后记转载请标明出处 报告题目:机器学习:发展与未来 报告人:周志华 演讲摘要:在过去二十年中,人类收集.存储.传输.处理数据的能力取得了飞速发展,亟需能有效地对数据进行分析利用的计算机算法.机器学习作为智能数据分析算法的源泉,顺应了大时代的这个迫切需求,因此自然地取得了巨大的发展.受到了广泛关注. 机器学习是从人工智能中产生的一个重要学科分支,是实现智能化的关键.它的经典定义是:利用经验改善系统自身的性能.将经验转化为数据.随着该领域的发展,目前主要研究智能数据分析的理论和算法,并已成为智能数据

windows 远程桌面研究

最近因为一个监控相关的项目,深入研究了一下 windows 的 远程桌面的相关知识. 1. 如何让关闭了远程桌面连接的用户,对应的 session 立即退出 windows server. 大家使用 mstsc.exe 远程桌面登录windows server时,退出时,99.99%的人会直接关闭 mstsc.exe 窗口,而不会点击开始--->退出.导致的问题是,登录用户已经提出了,但是 query user 和 query session 时,发现退出的用户,在 windows server

对一致性Hash算法,Java代码实现的深入研究

一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法和一致性Hash算法的算法原理做了详细的解读. 算法的具体原理这里再次贴上: 先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 232-1])将服务器节点放置在这个Hash环上,然后根据数据的Key值计算得到其Hash值(其分布也为[0, 232-1]),接着在

coco2d-x 纹理研究

1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要比PNG格式要快和小.一般情况下PVR消耗的内存比PNG消耗的内存小25%左右.PVR格式可以用ZWoptex导出.PVR是apple芯片能直接读取和显示的文件. 2.图片抗锯齿处理. 图片放大时的处理: 图片在放大的时候会出现锯齿.纹理类提供了setAntiAliasTexParameters()函数来处理抗锯齿.当图片放大的时候会使用相邻的四个像素进行混合运算.从而消除锯齿.但是会让图片产生模糊的感觉. 左边使

淘宝滑动验证码研究

引言 悠闲的时候,总会去找些事做做.前些天在登录淘宝的时候,发现了滑动验证码,虽然已经不是什么新事物,但还是产生了很大的兴趣. 传统的字符输入验证码,变为了滑动验证码,这一看就是产品大师的手笔啊,不知道申请专利没有. 这种“情感化”的验证码设计,可破解度高不高呢?如果是可破解度高,那就真是验证码的一次革命变新了.还是让我先了解一下滑动验证码的资料吧! 没有Google就百度,搜一搜,让我很震惊,一般搜技术的东西,大多数来源于csdn,blogs.cn,更牛批一点的是来源于stackoverflo

用户研究:如何了解我们的用户?

一. 前言 来到腾讯以后,做过iPhone阅读器.iPad阅读器.iPad音乐播放器的用户理解,目前正在做iPhone QZone的用户理解工作.做得次数多了,方法在不断改进,也积累了一些经验,与大家一起分享,希望帮助我们更了解用户. 首先介绍一下目前北分wsd(无线研发部用户体验组)用户研究工作流程:我们的用研需求来自项目组和用研组需求池,为控制节奏和质量,对承接项目组需求的工作流程进行严格把控,我们针对项目组需求,制定了用研工作流程图,用户理解也在这个框架之内. 二. 用户理解方法和经验 2