我的任何消费者都可以从队列中获取消息吗?

时间:2013-09-19 07:40:00

标签: activemq

我正在开发一款应用。我正在使用activemq。有没有办法做到这一点,一个生产者总是向一个经纪人发送消息,但在另一边有3个消费者。每个消费者都会监听经纪人,并且可以从队列中获取任何消息。这可能吗?

我正在使用activemq来编写我的应用程序。记录到db.As你知道写入日志到db是时间进行过程。这就是为什么消费者比生产者更慢的原因。我发送100.000消息(巨大的对象).Producer在20分钟内完成发送消息。但是当生产者完成时,消费者已经完成了4.000消息处理。

1 个答案:

答案 0 :(得分:0)

是的,你所描述的是可能的。实际上,您可以让任意数量的消费者在单个队列上进行侦听。消息在消费者之间以循环方式发送。

您应该注意的是,ActiveMQ比大型消息更好地发送小消息。如果您需要发送非常大的有效负载(例如100mb),则最好将消息保存到生产者和消费者(例如网络文件系统)都可访问的位置,并发送消息的位置。然后,消费者可以使用它来手动阅读消息。这样,您就可以通过消息代理获得相对较少的流量。