我正在与一位试图使用IBM Websphere MQ的JMS队列实现负载平衡行为的人合作。因此,他们配置了多个Camel JMS消费者来从同一个队列中读取。尽管根据JMS规范(至少在我上次查看时)此行为是未定义的,但他们期望一种轮询/负载平衡行为。虽然规范将此留给厂商自行决定,但我相信Websphere MQ的正常行为是仅将消息传递给其中一个消费者,并且可能会进行某种类型的负载平衡。例如,请参见此处:When multi MessageConsumer connect to same queue(Websphere MQ),how to load balance message-consumer?
但在这种特殊情况下,似乎两个消费者都接收到了相同的消息。
有没有更熟悉Websphere MQ的专家可以解释一下?是否有任何情况下预期出现这种行为?是否有任何配置更改可以缓解这种情况?
我倾向于告诉大家使用本地的Websphere MQ集群设施,并远离多个消费者指向同一个队列,但这对他们来说是一个很大的变化,因此我希望找到一种使其工作的方法。
虽然我不喜欢依赖任何未定义的东西,但如果他们愿意依赖IBM特定的行为,那就由他们决定。
有没有更熟悉Websphere MQ的专家可以解释一下?是否有任何情况下预期出现这种行为?是否有任何配置更改可以缓解这种情况?
我倾向于告诉大家使用本地的Websphere MQ集群设施,并远离多个消费者指向同一个队列,但这对他们来说是一个很大的变化,因此我希望找到一种使其工作的方法。
虽然我不喜欢依赖任何未定义的东西,但如果他们愿意依赖IBM特定的行为,那就由他们决定。