中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

在Spring中調(diào)用CLOUD FOUNDRY:基礎(chǔ)知識(shí)

2019-02-28    來(lái)源:多智時(shí)代

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

Cloud Foundry提供的服務(wù)使編寫(xiě)高效率的應(yīng)用程序成為了可能。開(kāi)發(fā)人員現(xiàn)在只需要選擇所需要的服務(wù),并不用關(guān)心服務(wù)的運(yùn)營(yíng)。例如應(yīng)用中事務(wù)性訪(fǎng)問(wèn)起決定作用的部分可以使用Postgres,需要與文檔集合數(shù)據(jù)進(jìn)行交互的可以使用MongoDB,需要使用鍵-值抽象的可以使用Redis,需要使用消息創(chuàng)建有效架構(gòu)的可以使用RabbitMQ。在該系列的四篇文章當(dāng)中,我們將研究Spring應(yīng)用如何調(diào)用Cloud Foundry服務(wù)。盡管我們只Spring,但是使用其他框架的開(kāi)發(fā)者,尤其是使用基于JVM框架(Grails, Lift以及普通的Java Web框架)的開(kāi)發(fā)者也能從該系列文章獲益。

在本文中,我們將研究Cloud Foundry如何向應(yīng)用程序公開(kāi)服務(wù)信息。在下一篇文章當(dāng)中,我們將描述一個(gè)典型的Spring應(yīng)用如何使用自動(dòng)重新配置機(jī)制,允許我們?cè)诓挥米鋈魏涡薷牡那闆r下使用服務(wù)。在第三篇文章中,Thomas Risberg將繼續(xù)講解如何使用云命名空間對(duì)服務(wù)消費(fèi)進(jìn)行控制。在第四篇文章中,Scott Andrews將介紹在Spring 3.1中如何整合配置文件支持以及云命名空間,創(chuàng)建應(yīng)用,對(duì)服務(wù)進(jìn)行顯示控制,與此同時(shí)應(yīng)用可以不做任何改變,繼續(xù)在本地或Cloud Foundry中運(yùn)行。讀完本系列的四篇文章之后,你應(yīng)該能夠獲取和Spring應(yīng)用高效調(diào)用Cloud Foundry服務(wù)相關(guān)的足夠多的信息。

當(dāng)在應(yīng)用中綁定了Cloud Foundry服務(wù)比如Postgres或Mongo后,和綁定服務(wù)有關(guān)的信息比如主機(jī),端口以及證書(shū)通過(guò)采用JSON進(jìn)行編碼的環(huán)境變量進(jìn)行公開(kāi)。為了說(shuō)明這一點(diǎn),我們將創(chuàng)建一個(gè)簡(jiǎn)單的Web應(yīng)用,顯示所有的環(huán)境變量信息。讓我們從Spring MVC模板項(xiàng)目開(kāi)始,然后在HomeController中添加下一個(gè)端點(diǎn)。

在Spring中調(diào)用CLOUD FOUNDRY:基礎(chǔ)知識(shí)

接下來(lái)就是部署這個(gè)應(yīng)用了。我將使用vmc工具,當(dāng)然也可以使用帶有Cloud Foundry插件的STS。需要注意的是我使用的應(yīng)用程序名是hello-env,默認(rèn)的URL也是基于該程序名的(hello-env.cloudfoundry.com)。如果按照上述步驟編寫(xiě)代碼,你會(huì)想選擇將默認(rèn)的URL作為應(yīng)用名,因?yàn)樵揢RL并未被占用。當(dāng)然,你也可以將應(yīng)用部署到Micro Cloud Foundry上。

在Spring中調(diào)用CLOUD FOUNDRY:基礎(chǔ)知識(shí)

創(chuàng)建應(yīng)用: OK

上傳應(yīng)用:

檢查可用的資源: OK

進(jìn)行資源處理: OK

打包應(yīng)用: OK

上傳 (8K): OK

推送狀態(tài): OK

保存應(yīng)用: OK

啟動(dòng)應(yīng)用: OK

這時(shí),如果你瀏覽http://hello-env.cloudfoundry.com/env頁(yè)面,將會(huì)看到所有環(huán)境變量的信息。很多環(huán)境變量的名字以VCAP_開(kāi)頭,顯示有關(guān)該應(yīng)用各種各樣的信息。我們感興趣的是VCAP_SERVICES變量,其內(nèi)容如下:VCAP_SERVICES: {}

該變量的映射為空,表明還沒(méi)有綁定服務(wù)。讓我們創(chuàng)建一個(gè)Postgres服務(wù),命名為env-postgresql,并與應(yīng)用進(jìn)行綁定。請(qǐng)注意該命令的格式為:vmc create-service

$ vmc create-service postgresql env-postgresql hello-env

創(chuàng)建服務(wù): OK

綁定服務(wù): OK

停止應(yīng)用: OK

保存應(yīng)用: OK

啟動(dòng)應(yīng)用: OK

現(xiàn)在,瀏覽http://hello-env.cloudfoundry.com/env頁(yè)面,你將會(huì)看到VCAP_SERVICES環(huán)境變量的值如下所示(為了方便閱讀,對(duì)格式進(jìn)行了調(diào)整):

在Spring中調(diào)用CLOUD FOUNDRY:基礎(chǔ)知識(shí)

上述信息包括了和應(yīng)用綁定服務(wù)相關(guān)的所有信息:主機(jī),端口,創(chuàng)建的JDBC URL的名字以及用戶(hù)名和密碼。

讓我們繼續(xù)綁定另一個(gè)服務(wù)MongoDB。

$ vmc create-service mongodb env-mongodb hello-env

現(xiàn)在環(huán)境變量的值如下所示:

在Spring中調(diào)用CLOUD FOUNDRY:基礎(chǔ)知識(shí)

MongoDB部分再次包括了與綁定服務(wù)相關(guān)的所有信息。

Cloud Foundry向應(yīng)用程序展示信息的機(jī)制就是這樣,這樣一來(lái)應(yīng)用就能夠調(diào)用與之綁定的服務(wù)了。進(jìn)行服務(wù)綁定時(shí)需要訪(fǎng)問(wèn)環(huán)境變量,解析JSON,創(chuàng)建訪(fǎng)問(wèn)對(duì)象(比如針對(duì)關(guān)系型數(shù)據(jù)庫(kù)的 DataSource)。盡管不是很困難,但是程序員并不想直接處理這些東西。因此,Cloud Foundry提供了一些簡(jiǎn)化服務(wù)連接的機(jī)制。在下一篇文章中我們會(huì)進(jìn)行介紹。

在下一篇文章當(dāng)中,將介紹自動(dòng)重新配置機(jī)制,該機(jī)制不用對(duì)典型的Spring應(yīng)用進(jìn)行任何的修改就可以實(shí)現(xiàn)服務(wù)調(diào)用。

標(biāo)簽: 代碼 開(kāi)發(fā)者 數(shù)據(jù)庫(kù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀(guān)點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:微軟獲美國(guó)政府大單:云端郵件服務(wù)遷移至Office 365

下一篇:未來(lái)云計(jì)算發(fā)展將會(huì)讓物聯(lián)網(wǎng)潛力倍增