Tag Archives: RabbitMQ

RabbitMQ: примеры rabbitmqctl, rabbitmqadmin и хранение сообщений при рестарте сервера

5 December 2018
 

 Задача – запустить RabbitMQ сервер и создать сообщение, но таким образом, что бы оно сохранилось при рестарте сервера. Документация по хранению данных – тут>>>. В частности, в ней указано, что на диск будут сохранены любые типы сообщений, если RabbitMQ начинает особождать память (см. Memory Alarms), но нам требуется, что бы сообщения всегда синхронизировались в базу на… Read More »

RabbitMQ: использование диска и перенос базы данных

22 October 2018
 

 Около 9 вечера мониторинг сообщил, что на одном из production-серверов забивается место. Причём забивалось оно очень быстро, и за пару часов “скушалось” 3 гига из 8 доступных на root-разделе. Забивался диск в каталоге базы RabbitMQ – /var/lib/rabbitmq/mnesia. Быстрый фикс – перенести его базу на отдельный диск. Создаём новый каталог: Обновляем конфиг реббита /etc/rabbitmq/rabbitmq-env.conf – задаём… Read More »

RabbitMQ: Ansible и Hostname mismatch: node believes its host is different.

8 August 2018
 

 Имеется Ansible плейбук, где среди прочего выполняется установка и настройка RabbitMQ. При запуске задачи с использованием плагина rabbitmq_vhost возникает ошибка: Решение – добавить в вызов rabbitmq_vhost имя ноды с указанием имени хоста, в примере ниже это будет node: “rabbit@{{ set_hostname }}”: … – name: Add RabbitMQ vhosts rabbitmq_vhost: node: “rabbit@{{ set_hostname }}” name: “{{ item.value.vhost… Read More »

Ansible: использование with_dict на примере модуля rabbitmq_user

11 July 2018
 

 Требуется создать пользователей и пароли для RabbitMQ, используя плагин rabbitmq_user. При этом хочется не создавать несколько переменных и несколько задач, а всё выполнить в одном цикле, но у каждой переменной должно быть несколько полей и значений. Используем with_dict и словарь в переменных. В файле roles/roles/rabbitmq/vars/main.yml добавляем: rabbitmq_users: user1: password: “pass1” vhost: “/” configure_priv: .* read_priv:… Read More »

RabbitMQ: запуск, описание, примеры

6 June 2018
 

 RabbitMQ – менеджер сообщений (message broker), написан на Erlang, ближайший аналог в AWS – SQS. Предназначен для передачи данных (сообщений) между несколькими сервисами : один сервис добавляет в очередь сообщение, другой – получает это сообщение. Ниже – пример установки, запуска и использования RabbitMQ. Установка На Arch Linux: Debian/Ubuntu: Либо можно запустить из Docker-образа: rabbitmq-plugins RabbitMQ поддерживает… Read More »