Должен ли я установить ActiveMQ на отдельном компьютере? - PullRequest
0 голосов
/ 21 января 2020

Я использую Spring Boot mail и ActiveMQ для создания почтовой системы. Я следовал этому примеру проекта . Поскольку наше приложение QPS мало, достаточно одного сервера для обработки запросов. В примере проекта ActiveMQ отправитель и получатель находятся на одном сервере. Это хорошая практика для небольших приложений? Или я должен установить ActiveMQ, отправителя и получателя на трех отдельных машинах?

Ответы [ 3 ]

1 голос
/ 21 января 2020

Это зависит ...

Размер приложения не имеет значения. Это зависит больше от ваших требований к доступности, масштабируемости и безопасности данных.

Если у вас все на одной машине, у вас есть единая точка риска. Если машина взломала sh, вы потеряли все на этой машине. Но эта настройка является самой простой (также для обслуживания), и изменение, которое сервер произведет sh, будет низким. Современные машины способны справляться с большой нагрузкой.

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

У вас также может быть настройка в середине обоих примеров установок (простых и сложных).

Если вы в состоянии воспроизвести все сообщения (сообщения электронной почты в вашем примере), и нагрузка не так высока, я посоветую вам упростить все это на одном компьютере.

0 голосов
/ 21 января 2020

Самая простая установка - это все в одной коробке. Если в этой коробке достаточно процессора и дискового пространства, почему бы и нет? Одним из преимуществ (производительности) является то, что ничего не нужно go по сети.

Если вас беспокоит отказоустойчивость, скопируйте всю эту настройку на второй компьютер.

0 голосов
/ 21 января 2020

Краткий ответ - это зависит. Длинный ответ - измерить это. Использование небольших критериев применения некорректно. Вы можете использовать оба на одном и том же сервере, если на вашем сервере есть все ресурсы, требуемые вашим приложением и посредником в очереди сообщений, и это не влияет на производительность конечного пользователя.

Я бы посоветовал запустить тесты производительности, чтобы проверить свои критерии, а затем принять решение о настройке целевой среды.

...