Инструкция по установке RabbitMQ тут, но для удобства можно запустить docker:
# latest RabbitMQ 3.12 docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management # -it можно заменить на -d
Примечание: доступ к веб-интерфейсу логин guest пароль guest
Пример кода для простого приложения Hello World тут
Перед запуском NodeJS на клиенте нужно установить пакет:
npm install amqplib
Создаём два файла send.js
var amqp = require('amqplib/callback_api'); // затем подключитесь к серверу RabbitMQ amqp.connect('amqp://localhost:5672', function(error0, connection) { if (error0) { throw error0; } // Далее мы создаем канал, в котором находится большая часть API для выполнения задач: connection.createChannel(function(error1, channel) { if (error1) { throw error1; } var queue = 'hello'; var msg = 'Hello world'; // Чтобы отправить, мы должны объявить очередь для отправки; затем мы можем опубликовать сообщение в очереди: channel.assertQueue(queue, { durable: false }); channel.sendToQueue(queue, Buffer.from(msg)); console.log(" [x] Sent %s", msg); }); // Наконец, мы закрываем соединение и выходим: setTimeout(function() { connection.close(); process.exit(0) }, 500); });
receive.js
var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost:5672', function(error0, connection) { if (error0) { throw error0; } connection.createChannel(function(error1, channel) { if (error1) { throw error1; } var queue = 'hello'; channel.assertQueue(queue, { durable: false }); console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", queue); channel.consume(queue, function(msg) { console.log(" [x] Received %s", msg.content.toString()); }, { noAck: true }); }); });
Полезные ссылки:
- https://www.rabbitmq.com/download.html
- https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html