纵有疾风起
人生不言弃

Openstack中RabbitMQ RPC代码分析

在Openstack中,RPC调用是通过RabbitMQ进行的。

任何一个RPC调用,都有Client/Server两部分,分别在rpcapi.py和manager.py中实现。

这里以nova-scheduler调用nova-compute为例子。

nova/compute/rpcapi.py中有ComputeAPI

nova/compute/manager.py中有ComputeManager

两个类有名字相同的方法,nova-scheduler调用ComputeAPI中的方法,通过底层的RabbitMQ,就能到达nova-compute的ComputeManager中的方法。

本文主要分析这个过程。

ComputeAPI.run_instance()的调用过程如下:

image

nova-compute监听消息,将消息dispatch到ComputeManager的run_instance()方法。

image

文章转载于:https://www.cnblogs.com/popsuper1982/p/3800396.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » Openstack中RabbitMQ RPC代码分析
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录