在JMS(ActiveMQ)上使用多个会话和连接是否可以?

时间:2016-02-02 05:53:50

标签: java java-ee jms activemq

我必须在点对点消息传递架构中处理大约100个JMS队列。每个队列都有一个消费者。所以我将有100个消费者线程来处理它们。可以吗?

2 个答案:

答案 0 :(得分:0)

1)ActiveMQ支持您的请求(建议编写连接池) 2)你应该确认你的服务器配置是否正常,何时   QPS很高,

答案 1 :(得分:0)

您可以使用单个队列并提供JMS消息属性,而不是100个队列,让每个消费者只过滤所需的消息。

这样做可以为您提供更多架构和部署选项。您可以让单个进程使用多种类型的消息。根据您的扩​​展问题,您可以在进程/服务器/之间展开单个使用者的多个实例。

您还可以为所有100个逻辑队列拥有一个消费者,阅读该属性并在内部确定将消息传递到哪里,这取决于您遇到的任何设计问题。

总的来说,消息传递是如此轻量级,以至于需要大量的消息或大量的单个消息来真正伤害事物。我有一个ActiveMQ应用程序,重启后可能需要处理10K / 20K消息,并在几秒钟内完成。相当小的消息,但仍然非常可能(我对其他MQ的经验也是类似的,只要你的处理不是太难,你应该能够跟上)。