Требуется ли для шаблона обмена сообщениями «публикация-подписка» столько очередей, сколько потребителей?

Скажем, мне нужно публиковать цену для данного биржевого тикера каждый раз, когда цена изменяется, а на другом конце есть подписчики (потребители), которым необходимо потреблять эту цену.

Это типичный шаблон pub-sub (а не точка-точка). Является ли типичным создание N очередей, если имеется N потребителей, и публикация издателем одного и того же сообщения в каждую из N очередей?

Я не понимаю, как это можно сделать с помощью только одной очереди, поскольку каждое сообщение исчезнет, ​​как только его заберет один-единственный потребитель (это модель точка-точка).


person user1008636    schedule 14.03.2018    source источник


Ответы (1)


Да, система передачи сообщений требует очереди на каждого клиента.

Если клиенты наблюдают изменение события, вам нужна очередь на каждого клиента. Вы публикуете событие для какого-то брокера сообщений. Потребители приходят и создают собственную очередь. После этого потребитель привяжет свою очередь к вашему обмену событиями. Только так каждый покупатель достигает и обрабатывает каждое мероприятие.

Or

Вы создаете одного потребителя. Этот потребитель использует событие и отправляет уведомление каждому клиенту. Этот способ неосуществим, потому что вы должны знать каждого клиента и его адрес конечной точки для принятия уведомления. Более того, вам нужно обрабатывать ошибки во время интеграции и т. Д. И т. Д.

person Adem Catamak    schedule 14.03.2018