如何在OpenStack中捕获对应于RPC.call请求消息的reply rabbitmq消息?

如何在OpenStack中捕获对应于RPC.call请求消息的reply rabbitmq消息?,rabbitmq,rpc,openstack,Rabbitmq,Rpc,Openstack,RPC调用和强制转换是OpenStack中两种不同类型的消息传递协议。对于RPC.call,调用方(或调用方)等待工作方(被调用方)的应答或ack消息 我试图截获所有通过OpenStack中rabbitmq系统的RPC消息(请求和回复消息)。在OpenStack中,所有请求消息都通过一个名为“nova”的交换。将新队列附加到“nova”交换,我可以捕获请求消息 现在,我想捕获发送回被叫方的回复消息。回复消息可由“直接消费者”捕获,具体由和摘录如下 a Direct Consumer comes

RPC调用和强制转换是OpenStack中两种不同类型的消息传递协议。对于RPC.call,调用方(或调用方)等待工作方(被调用方)的应答或ack消息

我试图截获所有通过OpenStack中rabbitmq系统的RPC消息(请求和回复消息)。在OpenStack中,所有请求消息都通过一个名为“nova”的交换。将新队列附加到“nova”交换,我可以捕获请求消息

现在,我想捕获发送回被叫方的回复消息。回复消息可由“直接消费者”捕获,具体由和摘录如下

a Direct Consumer comes to life if (an only if) a rpc.call operation is executed; this object is    
instantiated and used to receive a response message from the queuing system; Every consumer connects to  
a unique direct-based exchange via a unique exclusive queue; its life-cycle is limited to the message 
delivery; the exchange and queue identifiers are determined by a *UUID generator*, and are marshaled in 
the message sent by the Topic Publisher (only rpc.call operations).
为了捕获回复消息,我已尝试使用相应的msg_id或request_id连接到直接交换。我不确定捕获特定rpc.call回复的正确交换id是什么


知道我可以用什么交换id从rpc.call消息捕获回复吗?我所附的摘录中指定的UUID生成器是什么?

我不知道OpenStack实现的详细信息,但在消息传递系统上执行RPC时,通常消息带有一个应用于跟踪请求的
相关id
标识符

见: