我的问题是指管理插件中显示的统计信息。不使用时,rabbitmq统计数据看起来像这样:
我正在使用rabbitmq创建一个REQ / REP套接字。对于每个连接的客户端,将创建一个新队列。所以我们现在有4个队列:
但我不了解其他数字。
这是因为REQ / REP吗?
更新:我有两个应用程序相互通信。一方面我有
var context = require('rabbit.js').createContext('amqp://localhost');
var rep = context.socket('REP', {
prefetch: 1,
persistent: false
});
rep.connect(someIdentifier);
rep.setEncoding('utf8');
rep.on('data', function(data) {
//got a request
});
另一方面:
var context = require('rabbit.js').createContext('amqp://localhost');
var req = context.socket('REQ');
req.setEncoding('utf8');
req.connect(sameIdAsAbove);
req.on('data', function(data) {
//got a response
});
答案 0 :(得分:2)
6个默认交换是每种交换类型之一+它们的别名交换(参见Exchanges and Exchange Types section in AMQP 0-9-1 Model Explained。
接下来的2次交换是amq.rabbitmq.trace
(topic
类型),来自Firehose Tracer和amqp.rabbitmq.log
(也是topic
类型)的交换,您可以在此处使用调试期间记录条目(例如,只需按#
键绑定)。
顺便说一句,这些交换在每个vhost中创建。 amq
前缀来自AMQP约定,用于命名具有amq
前缀的AMQP相关实体。 rabbitmq
部分代表RabbitMQ特有的功能。
所以关于惯例。
对于2个默认队列,它实际上取决于您的安装类型,而默认配置可能会有所不同。 Vanilla RabbitMQ安装不会给你排队。
如果您有4个活动消费者(等待新消息出现在队列中的进程)保持连接,则每个连接至少使用一个连接,每个连接使用一个通道。
如果没有看到实际的代码,为什么你的队列号码变化很难说。
<强>更新强>
4个连接和4个通道(与AMQP代理通信,您需要打开至少一个通道,它在AMQP协议的4.3 Connection Multiplexing部分中描述)来自底层实现创建双工流(每个应用程序实例一个)可能使用两个连接使读写事件独立发生。
P.S。:实际上,全新安装可以导入预定义的配置,并配置许多其他选项,包括访问策略,虚拟主机,用户,交换,队列,绑定到HA,群集等等。