Node下的RabbitMQ应用

2019-06-11  本文已影响0人  陆遥远

一个最简单的生产者与消费者建立过程

创建生产者

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)
})
上一篇下一篇

猜你喜欢

热点阅读