blog
blog copied to clipboard
RabbitMQ 入门笔记
一键安装 RabbitMQ
docker run -d --name rabbit -p 5672:5672 rabbitmq
Nodejs 调用
RabbitMQ 有 Node.js 官方支持
npm install amqplib
服务端 amqp-server.js
const queue = 'tasks'
const amqplib = require('amqplib')
!async function init() {
var connect = await amqplib.connect('amqp://localhost')
var channel = await connect.createChannel()
await channel.assertQueue(queue)
// 此处必须是 callback 不是 Promise, 因为这里相当于事件 handler, 可以执行很多次
return await channel.consume(queue, data => {
console.log('get message:', data.content.toString())
}, {noAck:true})
}()
客户端 amqp-client.js
const queue = 'tasks'
const amqplib = require('amqplib')
!async function init() {
var connect = await amqplib.connect('amqp://localhost')
var channel = await connect.createChannel()
await channel.assertQueue(queue)
return await channel.sendToQueue(queue, Buffer.from('hello!'))
}()
参考文档
- https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html