Гарантирует ли распределение нагрузки несколько потребителей JMS в одной очереди MQ JMS? - PullRequest
0 голосов
/ 28 ноября 2018

У нас есть очередь IBM MQ JMS, и мы хотим распределить данные по нескольким потребителям для балансировки нагрузки.Итак, если мы напишем два JMS-клиента для использования из одной и той же очереди JMS, что произойдет?Будут ли сообщения равномерно распределены между обоими потребителями, поскольку один потребитель удалит данные после их чтения?Есть ли возможность дублирования данных, например, если оба потребителя читают одно и то же сообщение в состоянии гонки?

1 Ответ

0 голосов
/ 28 ноября 2018

Мои комментарии ниже основаны на деструктивном получении, а не просмотре обзора.

Так что, если мы напишем два JMS-клиента для использования из одной очереди JMS, что произойдет?

Они оба будут потреблять сообщения.

Будут ли сообщения равномерно распределены между обоими потребителями, поскольку один потребитель удалит данные после их чтения?

Нет.«Горячий» потребитель получит следующее доступное сообщение, предполагая, что он снова «получает» сообщение до того, как придет следующее сообщение.

Существует ли возможность дублирования данных, например, если оба потребителя читают одно и то же сообщение в состоянии гонки?

Нет, если вы выполняете деструктивное получение (по умолчанию).

...