0

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

我正在使用 activemq 编写我的应用程序。记录到数据库。正如你所知,将日志写入数据库是一个耗时的过程。这就是为什么消费者比生产者越来越慢的原因。例如。我发送了 100.000 条消息(巨大的对象)。生产者在 20 分钟内完成发送消息。但是当生产者完成时,消费者已经完成了 4.000 条消息处理。

4

1 回答 1

0

是的,你所描述的是可能的。事实上,你可以让任意数量的消费者在一个队列上监听。消息在消费者之间以循环方式发送。

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

于 2013-09-19T08:09:26.890 回答