2

我是事件处理领域的新手。我正在寻找一个基于 Java 的事件处理框架来满足我的要求。我经历了无数框架的文档和教程迷宫——Apache Storm、Apache Kafka 以及 RabbitMQ 等传统事件代理。我一点也不聪明。

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

  1. 分桶(例如按客户将它们分成不同的桶)
  2. 将所有分桶事件作为批次插入数据库。
  3. 执行某种负载平衡/事件优先级,例如,不希望低优先级的客户提出巨大的要求。一些事件使高优先级客户饿死的事件。

我不太关心事件排序,但我想确保这些系统的高可用性

寻找一些建议开始。技术基础没有吧,但是基于Java的东西。

4

1 回答 1

4

有很多用于实时分布式数据处理的框架:

在您的情况下,我认为选择其中一个框架就像用大锤敲击坚果一样。除了 Kafka 集群之外,您还必须部署和管理具有主节点和工作节点的集群。

为了让您的架构保持简单、可扩展和高可用性,您应该看看 KafkaStreams。KafkaStreams是一个新的 Java API(从 kafka 0.10 开始可用),用于对 kafka 主题进行实时计算。

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

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

于 2016-07-12T22:38:41.537 回答