publisher代码
const amqp = require('amqp');
let option = {
host: 'server-ip',
port: 5672,
login: 'guest',
password: 'guest',
connectionTimeout: 10000,
authMechanism: 'AMQPLAIN',
vhost: '/',
noDelay: true,
ssl: {
enabled: false
}
}
const connection = amqp.createConnection(option);
connection.on('error',function(e){
console.log("Error from amqp: ", e);
})
let default_exchange = {};
connection.on('ready', function(){
default_exchange = connection.exchange('fans',{type:'fanout'}); //创建 fanout 类型的交换机
let q = connection.queue('my-queue');
q.bind(default_exchange,'my-queue');
let qq = connection.queue('qqq');
qq.bind(default_exchange, 'qqq');
setInterval(publish_message, 2000);
})
let count= 0;
publish_message = function() {
let message = {
hello: 'world',
time: Date.now(),
count: count++
};
default_exchange.publish('', message);
return console.log("my-queue message published: " + (JSON.stringify(message)) + " to queue: my-queue");
};
receiver1 代码
const amqp = require('amqp'); let option = { host: 'server-ip', port: 5672, login: 'guest', password: 'guest', connectionTimeout: 10000, authMechanism: 'AMQPLAIN', vhost: '/', noDelay: true, ssl: { enabled: false } } const connection = amqp.createConnection(option); connection.on('error',function(e){ console.log("Error from amqp: ", e); }) connection.on('ready', function(){ connection.queue('my-queue', function(q){ console.log('my-queue is already subscribing'); q.bind('logs','my-queue', function(){ q.subscribe(function(message){ console.log('----receiveMessage: ',message); }) }); }) })
receiver2 代码
const amqp = require('amqp'); let option = { host: 'server-ip', port: 5672, login: 'guest', password: 'guest', connectionTimeout: 10000, authMechanism: 'AMQPLAIN', vhost: '/', noDelay: true, ssl: { enabled: false } } const connection = amqp.createConnection(option); connection.on('error',function(e){ console.log("Error from amqp: ", e); }) connection.on('ready', function(){ connection.queue('qqq', function(q){ console.log('my-queue is already subscribing'); q.bind('fans','qqq',function(){ q.subscribe(function(message){ console.log('----receiveMessage: ',message); }) }); }) })
初学,简单测试,理解不深,可能有潜在问题