0.0.1 • Published 6 years ago

zd-amqp v0.0.1

Weekly downloads
2
License
ISC
Repository
-
Last release
6 years ago

项目介绍

  1. 该组件是amqplib组件的对外接口。
  2. 提供了发送消息、接收消息等接口
  3. 该版本目的在于提供node端简单的收发消息API
  4. 该版本暂不支持消息回执,可能会出现消息丢失
  5. node端不用创建消息队列和交换器
  6. 权限管理在消息服务进行,node端需要提前确认消息队列名称和交换器名称等信息。

使用说明:

  • 安装组件:

npm install --save zd-amqp

  • 在项目中导入并调用:
let amqpAPI = require('zd-amqp');


/**
 * 其中hostname ,username,password,vhost为必传参数
 * 账号密码和虚拟机要根据消息服务商的设置配置,否则可能会发送或接收失败。
 *
 */
let options = {
    hostname: 'localhost',
    username: 'guest',
    password: 'guest',
    protocol: 'amqp',
    vhost: 'vhost_one'
}

//监听一个消息队列:topic.bimOnline.msg
amqpAPI.amqp(options).consume('topic.bimOnline.msg',(ret,data)=>{

    if(ret==1){
        //收到消息,进行处理
        console.log('node receiver::'+data)
    }else {
        //收到异常消息
        console.log('receiver err::'+data)
    }

})

//发送一个消息到指定的队列:采用direct模式
amqpAPI.amqp(options).publishToQ('direct.serverInfo','data from node direct',(ret,data)=>{
        if(ret==1){
            console.log('node sender::'+data)
        }else {
            console.log('sender err::'+data)
        }
    })

//发送一个消息到一个fanout类型的交换器,至于路由到哪个队列根据该交换器的路由规则进行
amqpAPI.amqp(options).publishToEx('fanOutServerExchange','data from node fanout',(ret,data)=>{
        if(ret==1){
            console.log('node sender::'+data)
        } else {
            console.log('sender err::'+data)
        }
    })

//发送一个消息到一个交换器,并指明路由key,这个消息将会发送到topic类型的路由器,消息会根据topic路由
amqpAPI.amqp(options).publishToTopic('topicExchange.Server','topic.bimOnline.msg','data from node topic',(ret,data)=>{
        if(ret==1){
            console.log('node sender::'+data)
        }else {
            console.log('sender err::'+data)
        }
    })

0.0.1

6 years ago

0.0.0

6 years ago