【发布时间】:2012-12-29 19:53:21
【问题描述】:
我正在为我团队的一个应用研究排队解决方案。理想情况下,我们希望可以配置为轻量级的进程内代理(用于线程之间的低吞吐量消息传递)和外部代理。是否有可以执行此操作的 MQ 服务器?大多数似乎需要设置为外部实体。 ZeroMQ 似乎最接近进程内解决方案,但它似乎更像是“类固醇上的 UDP 套接字”,我们需要可靠的交付。
【问题讨论】:
-
我认为stackoverflow.com/questions/2507536/lightweight-jms-broker 的答案包含有趣的信息(例如ffmq 建议)。 ActiveMQ 是另一个较重的候选者,但它也是可嵌入的。
-
就像@fvu 所说,ActiveMQ 比 ZeroMQ 重一些,但它作为一个嵌入式进程运行得非常好。如果您使用的是 Spring,那么设置起来非常容易。
-
ZeroMQ 在提供可靠传输的 TCP(而非 UDP)之上运行。但是,您指的是持久队列吗? IE。备份到光盘?
-
我们不关心消息本身的持久化,但我们确实希望传递尽可能可靠。性能不是问题(还)。我假设这意味着队列应该是持久的。
-
@fvu 感谢您的输入,我将使用 ActiveMQ。您能否重新发布作为答案,以便我接受?
标签: java jms message-queue amqp mq