要求是:多个服务产生大量带有数据流的请求(每个请求 1-10 MB),并且多个使用者以原子方式处理这些请求。
因此请求数据无法拆分。关键要求是,如果某个消费者无法处理请求 - 该请求必须重新注入(inject)到队列中并发送给不同的消费者。处理单个请求可能需要数十分钟。消费者在处理过程中可能会“死亡”,因此需要某种任务监控。
到目前为止我考虑过
- http://kafka.apache.org/
- http://storm-project.net/
- http://activemq.apache.org/
- http://activemq.apache.org/apollo/
但似乎都不符合我的要求。有什么建议吗?
最佳答案
关于您的要求(每个请求 > 1 MB,处理 > 10 分钟)...它仍然是消息传递吗?
我只是将其放入数据库(RDBMS)中。如果轮询 Not Acceptable ,我会考虑数据库中的触发器/存储过程。用 Scala 编写的存储过程在 Oracle 和 PostgreSql 中完美运行。
关于java - 类似 MQ 的 Java 库/框架,用于处理具有容错功能的大数据并重新注入(inject)大消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16672432/