每一個 OpenStack 組件可能包含若干子服務,其中一定有一個 API 服務負責接收客戶請求。 以 Nova 爲例,nova-api 做爲 Nova 組件對外的惟一窗口,向客戶暴露 Nova 可以提供的功能。 當客戶須要執行虛機相關的操做,能且只能向 nova-api 發送 REST 請求。這裏的客戶包括終端用戶、命令行和 OpenStack 其餘組件。
設計 API 前端服務的好處在於:
對外提供統一接口,隱藏實現細節
API 提供 REST 標準調用服務,便於與第三方系統集成
能夠經過運行多個 API 服務實例輕鬆實現 API 的高可用???,好比運行多個 nova-api 進程