【发布时间】:2014-12-28 22:23:29
【问题描述】:
我正在将 amqplib 与 node.js 一起使用,并试图确保我理解 channels 的概念。
这来自 amqplib 文档:Channels are multiplexed over connections, and represent something like a session, in that most operations (and thereby most errors) are scoped to channels.
以下是一些基本代码,我将在其中打开 amqp 连接、创建通道、交换和队列:
var amqp = require('amqp/callback_api');
var connection = amqp.createConnection({ host: "localhost", port: 5672 });
connection.on('ready', function () {
connection.createChannel(function(err, ch) {
ch.assertExchange('1', 'fanout', function(err, ok) {});
ch.assertQueue('a', {
exclusive: true,
durable: true
}, function(err, ok) {
});
});
在上面的代码中,exchange '1' 和 queue 'a' 是否只存在于定义它们的通道上?我的意思是,如果我要发布消息以从另一个渠道交换 a,那么交换 a 仍然会路由消息吗?
【问题讨论】:
标签: node.js rabbitmq node-amqp