一个最简单的生产者与消费者建立过程
创建生产者
const URL = 'amqp://127.0.0.1'
var amqp = require('amqplib'); //过amqp连接本地的rabbitmq服务
const chalk = require('chalk'); //给控制台的log添加颜色
// 创建一个连接
const connection = amqp.connect(URL)
// 创建生产者
connection.then(conn => {
// 创建一个通道
return conn.createChannel()
}).then(ch => {
// 指定一个消息队列如果不存在则新建
return ch.assertQueue('nodejs').then(ok => {
// 消息只能发送二进制
ch.sendToQueue('nodejs', Buffer.from('I belive you'))
ch.sendToQueue('nodejs', Buffer.from('if you belive me'))
ch.sendToQueue('nodejs', Buffer.from('thank you very much'))
})
}).catch(err => {
console.error(err)
})
创建消费者
connection.then(conn => {
// 创建一个通道
return conn.createChannel()
}).then(ch => {
ch.assertQueue('nodejs').then(ok => {
ch.consume('nodejs', msg => {
if (msg) {
console.log(chalk.green(msg.content.toString()))
ch.ack(msg)
}
})
})
}).catch(err => {
console.error(err)
})
网友评论