Spark、Akka、Storm 或 RxJava

Spark,Akka,Storm Or RxJava

我有一个用例,我得到 10K 到 15K Messages/sec 有时也可能小于 5K,我现在将它们推送到 RabbitMQ 那些我应该解析的消息,运行 一些RE 并进行一些排序聚合和 运行 一些统计数据。由于存在一些业务限制,我的产品(数据管道)将部署在单台机器上。探索了 Spark Akka Storm 和 RxJava,你能建议我使用什么吗?但我不想简单地做 Java,因为这样我必须处理所有线程等

根据我的经验,我会选择 Akka。您可以创建不同的参与者池来对不同的消息同时执行某些任务。您还可以利用 akka-camel 的力量让 RabbitMQ 消费者使用 RabbitMQ Camel Component.

你也许可以用 Storm 做同样的事情,但我没有太多的经验来推荐它。

我不会选择 Apache Spark,因为您需要用户 Apache Spark Streaming,并且您需要了解如何为您的用例正确配置缓冲 window。