-
Notifications
You must be signed in to change notification settings - Fork 1
RabbitMQ
Установка RabbitMQ.
- Установить
echo "deb http://www.rabbitmq.com/debian/ testing main">/etc/apt/sources.list.d/rabbitmq.list
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
apt-get update &> /dev/null
sudo apt-get install rabbitmq-server
- Установить менеджер для контроля.
rabbitmq-plugins enable rabbitmq_management
service rabbitms-server restart
Менеджер будет доступен по адресу: http://server-name:55672/mgmt/ (guest/guest).
Другие ссылки:
- The HTTP API and its documentation are both located at: http://server-name:55672/api/ (or view our latest HTTP API documentation here).
- Download rabbitmqadmin at: http://server-name:55672/cli/
Подробнее тут
-
Настроить кластер Куки на всех серверах сделать одинаковыми
/var/lib/rabbitmq/.erlang.cookie. (перед изменением куки сервер необходимо остановить). -
Проверяем статус на каждом сервере:
rabbitmqctl cluster_status. Не знаю с чем связано, но доменное имя обрезается до точки. Необходимо вписать такие записи в/etc/hostsиначе они друг друга не увидят. -
Выполняем на втором сервере:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl cluster rabbit@mongodb0
rabbitmqctl start_app
Я так понял вторая нода будет работать только в памяти, чтобы она работала на диск нужно ее указывать вторым параметром:
rabbitmqctl cluster rabbit@mongodb0 rabbit@mongodb1
где mongodb1 - имя домена первого сервера.
На первом сервере можно убедиться что они связялись: rabbitmqctl cluster_status
Это офигенно! Оно работает. Причем если запустить на двух разных нодах слушателей, то сообщения они получают строго по очереди.
P.S. Хотя пока не понятно. По отдельности ноды не загружаются. Нужно копать в чем дело. Ага! Про это написано в официальной документации. Если потушить все ноды, то следующий запуск будет с 30 сек задержкой и ошибкой. Нельзя тушить все ноды, в кластере должна остаться хотябы одна дисковая нода.