当前位置: 首页 > 知识库问答 >
问题:

分布式规则引擎

皇甫逸清
2023-03-14

我们已经使用Drools引擎几年了,但是我们的数据已经增长了,我们需要找到一个新的分布式解决方案来处理大量数据。我们有复杂的规则,可以查看几天的数据,这就是为什么Drools非常适合我们,因为我们的内存中只有数据。

你对类似于流口水但分布式/可扩展的东西有什么建议吗?

我确实对这件事进行了研究,但我找不到任何符合我们要求的东西。

谢谢

共有3个答案

公良天逸
2023-03-14

Spark比传统的单节点应用程序更快地将Drools规则应用于数据。Drools-Spark集成的参考体系结构可以遵循以下路线。此外,HACEP是用于Drools复杂事件处理的可扩展和高可用架构。HACEP结合了英菲尼斯潘、骆驼和ActiveMQ。关于使用Drools的HACEP,请参阅以下文章。

您可以在下面的GitHub存储库中找到Drools-Spark集成的参考实现。

孙承弼
2023-03-14

也许这对你有帮助。这是作为Drools生态系统的一部分开发的一个新项目。https://github.com/kiegroup/openshift-drools-hacep

陆阳曜
2023-03-14

首先,我可以看到大量的数据,我们也可以根据我的经验有效地应用Drools(可能需要根据您的需求进行一些调整)。并且很容易与Apache Spark集成。加载您的规则文件火花处理的内存将占用分钟内存...和Drools可以与火花流以及火花批处理作业一起使用...

看我完整的文章,供大家参考尝试。

另一种选择可能是。。。。

JESS实现Rete Engine并接受多种格式的规则,包括CLIPS和XML。

Jess使用增强版的Rete算法来处理规则。Rete是解决多对多匹配难题的一种非常有效的机制

Jess有许多独特的功能,包括反向链接和工作内存查询,当然Jess可以直接操作和推理Java对象。Jess也是一个强大的Java脚本环境,您可以从中创建Java对象、调用Java方法和实现Java接口,而无需编译任何Java代码。

你自己试试。

 类似资料:
  • 我正在为我的项目评估一个规则引擎。该项目将基于hadoop。我用DROOLS做了一些POC。基本上,我使用DROOL在映射器一侧。基于此,以下是我的观察和质疑。 1) a)我使用DROOLS在300万对象上启动了规则(大约需要17秒)b)我使用简单的Java对象(大约需要17秒)为没有DROOLS的300万对象使用了与DRL文件中相同的if/else循环逻辑。b大约比a快100倍。这是正常行为吗?

  • 我正在向drools规则引擎插入数据,但我无法理解它是如何处理插入的数据的。插入数据的代码是:

  • 在Web一章中,我们提到MySQL很脆弱。数据库系统本身要保证实时和强一致性,所以其功能设计上都是为了满足这种一致性需求。比如write ahead log的设计,基于B+树实现的索引和数据组织,以及基于MVCC实现的事务等等。 关系型数据库一般被用于实现OLTP系统,所谓OLTP,援引wikipedia: 在线交易处理(OLTP, Online transaction processing)是指

  • 我试图用一个简单的例子来描述这个问题。比方说,我有一个语法,看起来像这样: 这种语言的一个简单例子是: 我有一个自定义作用域提供程序,用于的属性: 到目前为止一切都很好,我的问题是: 我也有一个格式化程序,我无法为引用的s添加规则: 如您所见,我已经为和规则以及规则设置了格式。然而,规则的格式仅应用于实例化的地方(例如:声明)。当我运行此格式器(CtrlShiftF)时,我得到以下格式: 然而,我

  • 2. 隐含规则和模式规则 上一节的Makefile写得中规中矩,比较繁琐,是为了讲清楚基本概念,其实Makefile有很多灵活的写法,可以写得更简洁,同时减少出错的可能。本节我们来看看这样一个例子还有哪些改进的余地。 一个目标依赖的所有条件不一定非得写在一条规则中,也可以拆开写,例如: main.o: main.h stack.h maze.h main.o: main.c gcc -c ma

  • 一面 3.27 第一回遇到提前五分钟进来的面试官。。。 面试官介绍部门 问我知不知道 kkv? 列存储怎么做?列存和行存的区别,使用场景? 介绍了实习的工作 leveldb 读哪一层sst最耗时,为什么? 如果前台不停的读,后台在做compaction ,会发生什么? CMU 15445 问了分片buffer pool 的实现? 怎么实现 buffer pool 的无锁化? 如果现在 mmap 的