Java Esper基于客户的查询非常适合多个客户

Java Esper基于客户的查询非常适合多个客户,java,esper,complex-event-processing,Java,Esper,Complex Event Processing,据我所知,Esper是使用查询来区分传入事件中的相关内容和非相关内容而构建的 我正在考虑使用Esper,但我不确定它是否适合我的场景 我的设想: 我需要为大量客户跟踪一些事情。 我每秒将有大量事件传入,并且每个事件都需要确定某个客户的进度 示例一: 比方说我卖火柴,因此我卖的非常快。 因此,我一直有很多交易,我想跟踪每个客户购买的火柴数量。 当顾客买了10根火柴时,我希望他能得到一个免费的火柴盒。 所以对于这个简单的例子,我会说,不要使用Esper 但随着这一点的发展,问题可能是客户购买的第10

据我所知,Esper是使用查询来区分传入事件中的相关内容和非相关内容而构建的

我正在考虑使用Esper,但我不确定它是否适合我的场景

我的设想:

我需要为大量客户跟踪一些事情。 我每秒将有大量事件传入,并且每个事件都需要确定某个客户的进度

示例一: 比方说我卖火柴,因此我卖的非常快。 因此,我一直有很多交易,我想跟踪每个客户购买的火柴数量。 当顾客买了10根火柴时,我希望他能得到一个免费的火柴盒。 所以对于这个简单的例子,我会说,不要使用Esper

但随着这一点的发展,问题可能是客户购买的第10场比赛应该获得一个免费的盒子,之后每3场比赛,他将获得2场比赛的奖励

买了50根火柴后,他会得到一个XL码大小的火柴盒,里面装满了火柴

以此类推,多条规则相互叠加

我猜Esper将如何解决这个问题:

所以,我认为在Esper中应该如何做,就是在运行时为每个客户创建一个查询。但由于我有200000名客户,我卖出的每一场比赛的查询量都将以极快的速度增长。也许我误解了Esper的工作原理

现在我只想问一些问题

随着查询量的增加,Esper性能会降低多少? 在不创建特定于客户的查询的情况下,是否可以让Esper在客户级别进行计算

我还听说Esper有时缺乏线程和稳定性,有人对此有任何问题吗

总的来说,我对Esper真的很陌生,可能这根本不是我想要的。或者我只是误解了Esper的用途


谢谢你的阅读

我是Esper的团队负责人。Esper团队希望听到稳定性或线程问题。我们在许多大公司都有大量运行Esper/EsperHA的生产应用程序,没有任何问题。我们一直渴望进一步改进产品


性能下降的程度取决于查询和配置的类型、线程和CPU/内存等。。是的,计算可以按客户运行,例如分组和其他结构。

您好,如果您可以通过我的电子邮件联系我,我的个人资料,我将很高兴与您进一步讨论我公司对Esper的担忧。也许它们只是古老的故事或神话: