nova conductor

nova conductor是一个RPC 服务,所有支持的API都在 nova.conductor.rpcapi.ConductorAPI 

 它是stateless,可以水平扩展。

优点:

安全:

如果没有conductor,每个nova-compute都会直接访问DB,那么任意一个host上的nova-compute被攻破的话,整个DB就有危险。

升级:
如果database schema升级了,nova-compute不一定需要升级,只要nova-conductor的API兼容就行。

性能:DB访问会block在nova中,因为nova-compute 只有一个 OS thread,使用green threads in eventlet来提供并行性,

而从语言写的mysql driver对green threads并不友好,比如你有10个green threads来启动10个instance,如果第一个调度的

green thread block在DB上,其余9个green threads必须等待。

有个nova conductor之后,就只有RPC调用,没有DB调用,而RPC对green thread很友好,

如果一个RPC调用block住了,其余的9个green threads仍然可以继续。

原文地址:https://www.cnblogs.com/allcloud/p/5020071.html