Проект обмена / очереди RabbitMQ - одно или несколько сообщений - PullRequest
0 голосов
/ 03 ноября 2019

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

Например, я хочу запуститьзадание, которое отправляет 1 сообщение и доставляется в нужную очередь. Потребитель (работник) выполняет свою работу и по окончании отправляет ответ, который должен выполнить несколько действий (например, обновление базы данных, отправить почту ...): НО КАК?

1.) Связать очереди с ключом маршрутизации дляпример: job.done. * поставить в очередь db-update, send-mail, куда потребитель отправляет обновление db и отправляет почту?

2.) создать обмен db с привязками очереди к db-update и создать aswellобмен send-mail с очередью send-mail и на работника, создающего по одному сообщению для каждого обмена?

Таким образом, их главный вопрос более или менее, если сообщение должно вызвать более 1 действия (доставлено более чем1 очередь) можно ли создать 1 обмен для каждой службы и отправлять несколько сообщений или полагаться только на клавиши маршрутизации?

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

1 Ответ

0 голосов
/ 03 ноября 2019

Вы можете использовать обмен с типом разветвления. Разветвленный обмен маршрутизирует сообщения во все связанные с ним очереди.

...