У нас используется на работе для взаимодействия между подпроектами и выполнения тяжелых задач в фоне.
Для своих проектов пока не использую, но собираюсь делать в фоне отправку SMS, почты (уведомления, которые не требуют ответа об успешности операций «прямо сейчас»), ресайз картинок, возможно, обновление кеша и прочие такие вещи. Взаимодействие, если понадобится.
Есть еще расплывчатые мысли на тему паблик-сервисов с участием RabbitMQ (т.е. чтобы желающие отправляли/принимали сообщения по AMQP).
Ну смысл примерно такой же — взаимодействие программ разных разработчиков. Но, как я уже сказал, ничего конкретного, интересен сам механизм, в каком-то смысле да, эксперимент.
Не совсем понимаю какой смысл вводить routingKey если он идентичен имени очереди? И в чем его смысл если задавать отличное значение?
И в драйвере для C# есть параметр prefetchSize, что он задает?
routing_key не связан напрямую с именем очереди, он нужен для распределения сообщений по очередям, подробнее можно почитать здесь.
prefetchSize — ограничение в байтах
сделал как написано по примеру, только сделал 10 worker, а не 2
Не могу понять почему они выполняются последовательно, а не параллельно( воркер выполнил задание, сразу получил новое, а не ждет пока все 9 получат сообщение и дойдет очередь до него )
prefetch_count — я менял по разному, эффекта не дало (
RabbitMQ tutorial 2 — Очередь задач