Найдите абонента RabbitMQ, который должен получать сообщение с условным [в режиме удержания]

У меня есть сервер бизнес-логики, который после получения запроса на создание новой задачи должен найти исполнителя для него. Все исполнители подключаются к серверам реального времени, используя socket.io, и рассчитывают получить уведомление о новой задаче. BLS отправляет сообщение в RTS со всей необходимой информацией о задаче. После этого BLS рассчитывает получить от одного из ID RTS рабочего, который занялся этой задачей. Задача RTSes - найти ближайшего исполнителя для задания и предложить его ему. У выбранного исполнителя есть минута, чтобы принять или отклонить полученное предложение с заданием. Если предложение отклонено, поиск продолжается. Отслеживание списка заброшенных осуществляется через Redis, гео-поиск через Mongo. Связь между RTS-BLS через RabbitMQ

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

Существует следующее idea

В качестве альтернативы отправьте всю RTS эту задачу, пока один из них не вернет ask = true, а затем он отправит сообщение на открытый канал BLS, что сотрудник A согласен взять задачу B. Затем, если BLS получает запрос так, что A берет B, уже непосредственно из A, BLS одобрит его.

-1
задан 13 August 2018 в 15:36

0 ответов

Другие вопросы по тегам:

Похожие вопросы: