Performance 使用JBPM和Drools构建近实时应用程序,每天处理数百万个事件

Performance 使用JBPM和Drools构建近实时应用程序,每天处理数百万个事件,performance,architecture,drools,jbpm,drools-fusion,Performance,Architecture,Drools,Jbpm,Drools Fusion,我不确定这是否是公开这一点的正确地方,因为我正在寻求关于一堆技术的意见,这些技术被推荐给我来构建一个应用程序 让我来介绍一下背景。我的系统每天将接收大约100万(假设峰值为每秒15个事件)来自移动电信网络的“外部”事件。系统需要根据应用于传入事件的一系列简单规则执行一些任务。其中一些任务可以并行执行以提高吞吐量。这些任务通常涉及更新一些数据库和与外部服务通信,其中需要某种类型的编排 业务规则不会经常更改,流程(即哪些外部服务将被通知)也不会经常更改,对这些外部服务的请求主体可能需要不时更改 现在

我不确定这是否是公开这一点的正确地方,因为我正在寻求关于一堆技术的意见,这些技术被推荐给我来构建一个应用程序

让我来介绍一下背景。我的系统每天将接收大约100万(假设峰值为每秒15个事件)来自移动电信网络的“外部”事件。系统需要根据应用于传入事件的一系列简单规则执行一些任务。其中一些任务可以并行执行以提高吞吐量。这些任务通常涉及更新一些数据库和与外部服务通信,其中需要某种类型的编排

业务规则不会经常更改,流程(即哪些外部服务将被通知)也不会经常更改,对这些外部服务的请求主体可能需要不时更改

现在,我被要求使用Jboss JBPM和Drools构建这样的应用程序,主要是因为对这些流程和规则缺乏了解,人们正尝试使用非常灵活的应用程序,在那里他们可以设计流程和规则,让系统做他们想做的事情

JBPM和Drools被推荐为构建此类应用程序的技术。我还必须说,该系统需要全天候运行,因为它对业务至关重要,并且需要不断更新网络元素以使网络运行

每个事件都必须以接近实时的方式处理,或者以尽可能快的速度处理,并且不涉及手动任务,所有事情都应该自动化

我从JBPM 5文档中读到,即使我设计了一个具有并行活动的业务流程,它们在技术上也将在同一线程中执行。也许JBPM并不是为处理此类需求而设计的,这就是为什么我要向使用JBPM和Drools构建具有类似需求的系统的人寻求一些建议,以及使用推荐的技术开发此系统将面临哪些挑战


谢谢。

请稍等片刻,然后再挂上[等待];-)

非病理规则下每秒15次事件的峰值应该不是问题

长时间的评估(例如数据库访问)可以在进程(线程)中完成,这些进程(线程)通过规则右侧发送的命令进行反馈,因此Drools会话保持被动


我对JBPM了解不多,因此对它在您的场景中的有用性没有任何意见。

您可能会在Drools用户列表中接触到更广泛的受众,stackoverflow不会对邀请意见的问题做出非常友好的反应。是的,我同意。我投票决定结束这个问题-