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