多个JMS使用者使用同一MQ JMS队列是否可以保证负载平衡?

时间:2018-11-28 13:59:07

标签: jms ibm-mq

我们有一个IBM MQ JMS队列,希望将数据分布到多个使用者中以实现负载平衡。因此,如果我们编写两个JMS客户端以从同一JMS队列使用,将会发生什么?消息是否会在两个使用者之间平均分配,因为一个使用者将在读取数据后删除数据?是否有可能进行数据复制,例如如果两个使用者在竞争条件下都读取了相同的消息?

1 个答案:

答案 0 :(得分:2)

我在下面的评论基于破坏性获取而非浏览获取。

  

因此,如果我们编写两个JMS客户端以从同一个JMS队列使用,   会发生吗?

它们都将消耗消息。

  

自一个开始,消息将在两个使用者之间平均分配   消费者在读取数据后会删除数据吗?

不。假设“热”使用者在下一条消息到达之前再次“获得”一条消息,则将为其提供下一条可用消息。

  

是否存在重复数据的可能性,例如是否出现相同的消息   两个消费者在比赛状态下都阅读?

如果您正在执行破坏性获取(默认设置),则不会。