【发布时间】:2019-03-23 08:56:51
【问题描述】:
我使用 RabbitMQ 已经有一段时间了。我有几个微服务使用与Rabbit tutorials 中描述的非常接近的基本 RPC 机制运行。我正在尝试使用 rhea 切换到 AMQP 1.0,因为我需要使用 Amazon MQ。但是,我仍然坚持复制这个简单的模式:
ch.assertQueue('', {exclusive: true}, function(err, q) {
let corr = //some UUID
ch.consume(q.queue, function(msg) {
/* */
});
ch.sendToQueue('rpc_queue',
"TEST2",
{ correlationId: corr, replyTo: q.queue });
});
})
我没有从 rhea 得到的是可能有临时队列(与客户端连接相关),然后将“replyTo”回复到这些队列。
我试过了:
client.open_receiver({
source: { address: "rpc:callback", expiry_policy: "connection-close" }
});
使用expiry_policy,但它不起作用。我正在尝试使用 AMQP 1.0 插件然后使用 Apache ActiveMQ 的 RabbitMQ。
重点是,我想...
- 有一个临时(独占)队列,当客户端连接断开时会自动断开。
- 使用该临时队列(我可以手动为其分配临时名称,这不是重点)来处理回复。
但是,我既无法获得临时队列(AMQP 0.9.1 中独有),也无法使用该名称来处理回复。
【问题讨论】:
-
嗨,你解决了吗?可以分享一下吗?
-
@vrachlin 很久以前我做了我刚刚在下面发布的内容
标签: node.js rabbitmq activemq rpc amqp