事件处理框架建议

时间:2016-07-12 07:00:24

标签: java apache-kafka complex-event-processing stream-processing

我是事件处理域的新手。我正在寻找一个基于Java的事件处理框架来满足我的要求。我已经通过Myriad框架上的文档和教程迷宫--Apache Storm,apache Kafka以及RabbitMQ等传统事件代理。我不是更聪明的人。

我的要求如下。我有一个推送给我的事件源(例如使用情况跟踪)。我想用它们做以下事情:

  1. Bucketing(将它们分成不同的桶,例如由客户分开)
  2. 将所有分段事件作为批处理插入数据库。
  3. 执行某种负载平衡/事件优先级排序,例如:不希望一个低优先级的客户推动一个巨大的没有。通过一些活动扼杀高优先级客户的事件。
  4. 我不太关心事件排序,但我想确保这些系统的高可用性

    寻找一些开始的指示。技术基础设施没有障碍,但基于Java。

1 个答案:

答案 0 :(得分:4)

有很好的框架可以进行实时分布式数据处理:

在你的情况下,我认为选择其中一个框架就像拿一把大锤来破解坚果。除了Kafka集群之外,您还必须部署和管理具有主节点和从节点的集群。

为了使您的架构简单,可扩展且高度可用,您应该查看KafkaStreams。 KafkaStreams是一个新的Java API(自kafka 0.10起可用),用于对kafka主题进行实时计算。

KafkaStreams应用程序是一个简单的Java应用程序,因此您可以将作业嵌入到现有应用程序中。

此外,可以使用简单的命令部署Kafka Streams作业:java -jar。