Например, я реализовал службу индексирования поиска, которая получает запросы поиска и производит ответы с использованием сообщений.Запрос/ответ службы: используете ли вы ключи маршрутизации и сохраняете сообщения в одной очереди RabbitMQ?
В настоящее время я определил очередь для епдиеих поиска просит и другой в епдиеих результатах поиска .
рефакторинга ли это просто Епдиеие к уникальной очереди, в которой сообщения имеют запрос и ответключи маршрутизации? Или это чрезмерное использование RabbitMQ на данном конкретном случае?
Проверьте это [от Udi Dahan] (http://udidahan.com/2011/03/20/careful-with-content-based-routing/) –
@SeanFarmar Хорошая статья. Ну, это не правило (* не используйте маршрутизацию ESB *), но я знаю, что маршрутизацию можно злоупотреблять. Я считаю, что мой собственный ответ - хорошая практика, потому что в конце дня вы все еще развертываете две очереди, а * exchange * действует как пространство имен ESB. Что вы думаете об этом? –
Я сторонник простоты и разделения каналов. Мне кажется естественным, чтобы (в описанном вами сценарии) поисковый командный процессор и процессор результатов поиска, как только процессор команд поиска завершит свою работу, он отправит команду результата поиска с индексированными данными, процессор результатов поиска будет делать все, что ему нужно, чтобы сделать свою работу ... Смысл? –