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