深度剖析CloudFoundry的架構(gòu)設(shè)計(jì)(6) |
發(fā)布時(shí)間: 2012/7/22 16:08:39 |
我們可以看到整個(gè)CloudFoundry的核心就是一套消息系統(tǒng),如果想了解CloudFoundry的來(lái)龍去脈,去跟蹤它里面復(fù)雜的消息機(jī)制是非常好的方法。另一方面,CloudFoundry是一套基于消息的分布式系統(tǒng),面向消息的架構(gòu)是它節(jié)點(diǎn)橫向擴(kuò)展,組件自發(fā)現(xiàn)等云特性的基礎(chǔ)。 Cloud Foundry的架構(gòu)簡(jiǎn)單介紹至此,其實(shí)作為第一款開源的PaaS,CloudFoundry架構(gòu)有很多可以學(xué)習(xí)借鑒的地方,很多細(xì)節(jié)上的處理是很精妙的,這些內(nèi)容如果有可能會(huì)在后續(xù)文章繼續(xù)探討,本文題雖為深入CloudFoundry,其實(shí)也只是淺嘗即止,把總體架構(gòu)介紹一下,目標(biāo)在于使我們有足夠的背景知識(shí)去用CloudFoundry搭建企業(yè)內(nèi)部的私有PaaS。總結(jié)一下,筆者從CloudFoundry的結(jié)構(gòu)中學(xué)到的東西: 1、基于消息的多組件架構(gòu)是實(shí)現(xiàn)集群的簡(jiǎn)單、且有效方法。消息可以使集群節(jié)點(diǎn)間解耦,使自注冊(cè),自發(fā)現(xiàn)這些在大規(guī)模數(shù)據(jù)中心中很重要的功能得到實(shí)現(xiàn); 2、適當(dāng)?shù)某橄髮樱0迥J降氖褂,方便第三方可以方便在CloudFoundry開發(fā)擴(kuò)展功能。CloudFoundry在DEA及Service層都做了抽象層處理,相對(duì)應(yīng)地使開發(fā)者可以容易地為CloudFoundry開發(fā)Runtime和Service。例如,在CloudFoundry剛推出的時(shí)候,只支持Node.js,Java, Ruby,但第三方提供商、開源社區(qū)快速跟進(jìn),為CloudFoundry添加了PHP,Python的支持。這得益于CloudFoundry精巧的DEA架構(gòu)設(shè)計(jì),如何開發(fā)新的Runtime支持,會(huì)在后續(xù)博文中有所論述. 二、源碼導(dǎo)讀 筆者一直覺得深入理解一個(gè)技術(shù)的最好方法就是讀它的源碼,而CloudFoundry是完全開源的PaaS平臺(tái),而因?yàn)閯偘l(fā)展起來(lái),代碼量不多,主要作者們的代碼功力也相當(dāng)不錯(cuò),讀起來(lái)很舒服,很適合研讀。而不得不再次表?yè)P(yáng)一下它完全基于消息機(jī)制的架構(gòu)設(shè)計(jì),對(duì)組件擴(kuò)展性,第三方接入等方面做得很好,讀者可以從中學(xué)到不少思想性的東西。筆者很推薦大家去讀一下它的源代碼。你可以在Github上找到CloudFoundry的全部代碼:https://github.com/cloudfoundry,你會(huì)看到幾個(gè)不同的Repositories,它們分別是: 1、vcap: Cloud Foundry的Core,又或者稱作Kernel; 2、vcap-service: Cloud Foundry的Service組件。Cloud Foundry的service是作為插件提供的,這出于它方便第三方開發(fā)service而設(shè)計(jì)的; 3、vmc: VMware Cloud CLI. 是一個(gè)Ruby應(yīng)用,與Cloud Foundry的CLI交互。主要通過(guò)分析用戶輸入的CLI,向CloudFoundry發(fā)送Restful請(qǐng)求; 4、vcap-java: 如果你的app是用java開發(fā),且需要與Cloud Foundry交互,例如取得當(dāng)前serviceserver的ip地址等,你可能需要這個(gè)jar,里面對(duì)我們Java開發(fā)常用框架有所支持,它底層也是對(duì)CloudFoundry的Restful請(qǐng)求的包裝; 5、vcap-java-client: Cloud Foundry的Restful API的Java封裝,與上面的項(xiàng)目不一樣,它只是個(gè)簡(jiǎn)單的讀取CloudFoundry信息,并放如JavaBean中; 6、vcap-test: Cloud Foundry的test cases;億恩科技石頭 負(fù)責(zé)服務(wù)器租用和托管業(yè)務(wù) 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |