еще один симулятор - чуть красивше и возможностью импорта и экспорта
https://jmcle.github.io/rabbitmq-visualizer/
Требования к железу зависят от следующих параметров
- сколько будет источник событий
- каков в прицнипе размер среднего события
- сколько событий генерирует источник
дополнительно
- сколько должен выдержать времени простоя получателя сервер RMQ в часах
Отсюда начинается расчета - предположим ты все сообщения хранишь в памяти
например 2 источника, по 100 событий в секунду размером 2 kb, и время простоя может быть до 24 часов
тогда у тебя есть 4Mb (100*2*2kb
) в секунду умножаем на 24*60*60
- 345 гигабайт чистой RAM на ноду, соответственно умножай на 2 чтобы сделать отказоустойчивость
НО так никто не делает - делаю durable сообщения чтобы складировались во внутренюю базу данных, она жмется с коэфициентом примерно 4-5, для удобства скажем 4
тогда диска 100Gb будет достаточно на такую ноду, а память будет расходоваться только на обработку в секунду - 4Gb как мы помним выше, но так как памяти советуют от 40% до 60% умножим её на 2.
Таким образом для
- c 2 источников
- каждый из которых генерирует по 100 событий в секунду
- при среднем размере сообщений в 2kb
- в режиме кластера HA
нам понадобится
2 ноды размером - 4 vCPU, 8Gb RAM, 120 GB HDD
ну и воообще-то - обычно идет следующий способ расчета
минимальная нода - 2 vCPU, 4Gb RAM, 40HDD
в дальнейшем ставишь на мониторинг Zabbix 3.0 и докидываешь ресурсов, если есть кластер kubernates - То очень полезным будет auto scalling
https://www.rabbitmq.com/production-checklist.html