rabbitmq关于权限配置的实例及node.js测试代码——非指令介绍

参考:https://blog.csdn.net/wulex/article/details/64127224 —— 操作指定集

           https://www.cnblogs.com/hujiapeng/p/7352904.html    —— centos7安装介绍

因为最近准备用rabbitmq, 理解了很久, 对于权限设置也想了很久。
我的需要很简单, 生产者以一定方式写入,并按指定的routing key 写入指定的queue。并且需要限制消费者只能向指定queue进行读消息的权限

前提:rabbitmq已提前装好

主要用到的指令:

1、分别创建一个两个用户:

rabbitmqctl add_user producer producer123
rabbitmqctl add_user consumer consumer123

2、创建vhost

rabbitmqctl add_vhost test

3、向producer分配vhost为test的所有的权限

 

rabbitmqctl set_permissions -p test producer ".*" ".*" ".*"

 

4、向consumer分配vhost为test的读权限

rabbitmqctl set_permissions -p test consumer ".*" "" ".*"

5、producder代码(nodejs, 前提:已装好amqp和rabbitmq的库。 npm install amqp --save; npm install rabbitmq --save)

let amqp = require("amqp");
let connection = amqp.createConnection({url:"amqp://producer:producer123@10.0.1.27:5672/test"});
connection.on('error', function(err){
    console.log("error:", err);
})

connection.on('ready', function(){
    console.log("ready");
    connection.exchange("test", {type:"topic",  autoDelete:false, durable:true}, function(exchange){
        console.log(" create exchange success")
        
        connection.queue("testque1", {durable:true, autoDelete:false},function(queue){
            console.log("create que success");
            queue.bind("test", "testrout1");
            exchange.publish("testrout1", "test message5",{mandatory:true}, function(a, b){
                console.log(a, b);
            })
        })
        
       
    })
})

 

6、consumer测试代码

let amqp = require("amqp");
let connection = amqp.createConnection({url:"amqp://consumer:consumer123@10.0.1.27:5672/order"});
connection.on('ready', function(){
    let que = connection.queue("testque1", {durable:true, autoDelete:false},function(queue){
        
        queue.subscribe(function(message, header, deliveryInfo){
            console.log(message.data.toString());
        })
    }) 

测试执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值