Для одного небольшого узла с небольшой нагрузкой разница невелика. Большинство людей используют второй вариант по указанным выше причинам.
При проектировании системы вы должны спросить себя, как это может расшириться в будущем.
Как это будет масштабироваться?
Нужно ли мне масштабировать?
Хочу ли я добавить кластер высокой доступности в будущем?
Мой маршрут изменится ...
Вариант 2 обеспечивает большую гибкость в большинстве случаев.
Это позволяет вам делать такие вещи, как присоединение нового потребителя к Exchange со своей собственной очередью и легко перехватывать любое подмножество или весь поток сообщений. (эти очереди могут находиться на других узлах кластера или зеркально отображаться на n узлах, обеспечивая отказоустойчивость). Типичный вариант использования - регистрация всех сообщений с использованием четвертой очереди.
Если ваше узкое место находится на стороне обработки, вы также можете дополнительно подразделить свои темы сообщений и выполнить определенную приоритетность без необходимости менять издателей. Пример: ToppicA.urgent, обработанный выделенным потребителем, в конечном итоге обработанный TopicA.log.
Краткий ответ - использовать вариант 2, если только у вас нет особых требований к производительности. Если, например, вам нужно обработать, скажем, устойчивую скорость более 50 кбит / с, вам может потребоваться вариант 1 на выделенных узлах, но для нормальных потоков вариант 2 будет легче масштабировать и поддерживать.