Инструкция по установке 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