Proxy Services 偏向于CPU和network I/O 密集型,而 Object Services, Container Services, Account Services 偏向于disk and networkI/O 密集型。
Ring 代表磁盤上存儲的實體的名稱和它們的物理位置的映射。accounts, containers, and objects都有單獨的Ring。其他組件要在這三者之一進行任何操作,他們都需要合相應(yīng)的Ring進行交互以確定它在集群中的位置。
OpenStack Object Storage系統(tǒng)被設(shè)計來供許多不同的存儲消費者或客戶使用。每個用戶必須通過認證系統(tǒng)來識別自己。為此,OpenStack Object Storage提供了一個授權(quán)系統(tǒng)(swauth)。
OpenStack Image Service包括兩個主要的部分,分別是API server和Registry server(s)。
本文顯示了OpenStack Compute的總體服務(wù)架構(gòu),以及服務(wù)之間的通信系統(tǒng)。
OpenStack Compute采用無共享、基于消息的架構(gòu),非常靈活,我們能安裝每個nova- service在單獨的服務(wù)器上,這意味著安裝OpenStack Compute有多種可能的方法。可能多結(jié)點部署唯一的聯(lián)合依賴性,是Dashboard必須被安裝在nova-api服務(wù)器。
OpenStack Compute建立在無共享、基于消息的架構(gòu)上。Cloud controller通過HTTP與internal object store交互,通過AMQP和scheduler、network controller、 和volume controller 來進行通信。
通過覆蓋OpenStack Compute 邏輯組件,Glance和Dashboard,來表示功能范圍。對于每一個覆蓋,都有相應(yīng)的提供該功能的邏輯組件的名稱。
邏輯架構(gòu)中有兩個重要的部分,既不是自定義編寫,也不是基于Python,它們是消息隊列和數(shù)據(jù)庫。二者簡化了復(fù)雜任務(wù)(通過消息傳遞和信息共享的任務(wù))的異步部署。
OpenStack能幫我們建立自己的IaaS,提供類似AmazonWebService的服務(wù)給客戶。為實現(xiàn)這一點,我們需要提供幾個高級特性。