Это зависит ...
Размер приложения не имеет значения. Это зависит больше от ваших требований к доступности, масштабируемости и безопасности данных.
Если у вас все на одной машине, у вас есть единая точка риска. Если машина взломала sh, вы потеряли все на этой машине. Но эта настройка является самой простой (также для обслуживания), и изменение, которое сервер произведет sh, будет низким. Современные машины способны справляться с большой нагрузкой.
Если у вас очень высокая нагрузка и / или требуется гарантированная доставка, вам следует использовать несколько систем с производителями, которые отправляют сообщения в кластер ActiveMQ (также распределенный по нескольким машины). Потребители также на более чем одной машине. Используйте также балансировщики нагрузки для подключения / взаимодействия с машинами.
У вас также может быть настройка в середине обоих примеров установок (простых и сложных).
Если вы в состоянии воспроизвести все сообщения (сообщения электронной почты в вашем примере), и нагрузка не так высока, я посоветую вам упростить все это на одном компьютере.