为什么每个openstack nova服务都有3个与之关联的rabbitmq使用者

为什么每个openstack nova服务都有3个与之关联的rabbitmq使用者,rabbitmq,openstack,Rabbitmq,Openstack,在openstack nova中,不同类型的rabbitmq使用者(例如主题使用者、节点主题使用者、扇出使用者)与每个nova服务(例如nova调度、nova计算等)相关联。以下几行是一个摘录,其中每个nova服务使用3个使用者。仅供参考:service.py是生成nova服务的包装器 self.conn.create_consumer(self.topic, rpc_dispatcher, fanout=False) node_topic = '%s.%s' % (self.topic, s

在openstack nova中,不同类型的rabbitmq使用者(例如主题使用者、节点主题使用者、扇出使用者)与每个nova服务(例如nova调度、nova计算等)相关联。以下几行是一个摘录,其中每个nova服务使用3个使用者。仅供参考:service.py是生成nova服务的包装器

self.conn.create_consumer(self.topic, rpc_dispatcher, fanout=False)

node_topic = '%s.%s' % (self.topic, self.host)
self.conn.create_consumer(node_topic, rpc_dispatcher, fanout=False)

self.conn.create_consumer(self.topic, rpc_dispatcher, fanout=True)
我猜,每个消费者都与不同的兔子队列相关联。我认为,我们可能需要一个node_主题消费者来直接向节点发送消息。其他两个消费者主题和每个服务中的扇出消费者的目的是什么

另外,当我使用下面的命令在devstack节点中列出rabbitmq的交换时,它显示了大量11685条消息

stack@9734efd5-6fcd-4127-92b4-6715a66fda9d:/opt/stack$ sudo rabbitmqctl list_exchanges | wc -l
11685
有人能解释一下为什么在openstack devstack实现的rabbitmq中有这么多的交换吗