欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

提高PaaS平臺(tái)可用性的方法

文檔序號(hào):7860371閱讀:354來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):提高PaaS平臺(tái)可用性的方法
技術(shù)領(lǐng)域
本發(fā)明涉及云計(jì)算平臺(tái)領(lǐng)域,具體來(lái)說(shuō)涉及一種私有云的實(shí)現(xiàn)方法,尤其涉及一種提高PaaS平臺(tái)可用性的方法。
背景技術(shù)
云計(jì)算(CloudComputing)是虛擬化(Virtualization)、效用計(jì)算(UtilityComputing)、IaaS (基礎(chǔ)設(shè)施即服務(wù))> PaaS (平臺(tái)即服務(wù)),SaaS (軟件即服務(wù))等概念混合演進(jìn)并躍升的結(jié)果,云計(jì)算是一種按照用戶(hù)需求、便利地通過(guò)網(wǎng)絡(luò)獲取計(jì)算資源的計(jì)算模式,這些資源可以來(lái)自一個(gè)共享的、可配置的資源池,并能夠快速地獲取和釋放,它提供了一個(gè)全新的互聯(lián)網(wǎng)商業(yè)服務(wù)模型,即用戶(hù)可以通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式租用所需的服務(wù)。云計(jì)算技術(shù)利用高速互聯(lián)網(wǎng)的傳輸能力,將計(jì)算、存儲(chǔ)、軟件、服務(wù)等資源從分散的個(gè)人計(jì)算機(jī)或服務(wù)器移植到互聯(lián)網(wǎng)中集中管理的大規(guī)模高性能計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、虛擬計(jì)算機(jī)中,從而使用戶(hù)像使用電力一樣使用這些資源。采用云計(jì)算的模式能夠提高計(jì)算效率和資源的可用性。云計(jì)算有三個(gè)顯著特點(diǎn)一是按需租用;二是在廣大范圍的用戶(hù)廣泛協(xié)同及資源共享;三是資源有效的調(diào)配。目前,云計(jì)算按照數(shù)據(jù)的面向?qū)ο罂梢苑譃楣性?、私有云、混合云。公有云是為公共普通客?hù)使用而構(gòu)建的,計(jì)算資源為所有的人共享。私有云是為一個(gè)客戶(hù)或者企業(yè)單獨(dú)使用而構(gòu)建的,因而提供對(duì)數(shù)據(jù)、安全性和服務(wù)質(zhì)量有更高的要求?;旌显剖枪性坪退接性频幕旌戏?wù)模式。目前云計(jì)算領(lǐng)域主要分為下面三種,即SaaS(Software-as-a_Service)軟件即服務(wù);PaaS (Plartform—as-a—Service)平臺(tái)即月艮務(wù);IaaS (Infrastructure-as-a-Service)基礎(chǔ)設(shè)施即服務(wù)。SaaS是Software-as-a-service (軟件即服務(wù))的簡(jiǎn)稱(chēng),是隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展開(kāi)始出現(xiàn)并興起的一種全新的軟件應(yīng)用模式,是云計(jì)算領(lǐng)域發(fā)展最成熟、應(yīng)用最廣泛的服務(wù)。它本質(zhì)上只是應(yīng)用軟件的傳送/按需式利用,例如,由數(shù)千顧客通過(guò)瀏覽器同時(shí)訪(fǎng)問(wèn)的電子郵件應(yīng)用程序。通過(guò)SaaS軟件用戶(hù)只需要可以訪(fǎng)問(wèn)互聯(lián)網(wǎng)就能使用軟件?;赟aaS的軟件大大降低了軟件,尤其是大型軟件的安裝使用成本。軟件托管在服務(wù)提供商服務(wù)器上,減少了客戶(hù)的管理維護(hù)成本,可靠性也更高。Salesforce. com是SaaS模式的典型代表。PaaS是Platform-as-a-Service(平臺(tái)即服務(wù))的簡(jiǎn)稱(chēng),是把應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)等基礎(chǔ)平臺(tái)作為一種服務(wù)提供的模式。PaaS平臺(tái)可以將操作系統(tǒng)、應(yīng)用開(kāi)發(fā)環(huán)境等平臺(tái)級(jí)產(chǎn)品服務(wù)的方式提供給用戶(hù),用于允許開(kāi)發(fā)人員部署在基于云的基礎(chǔ)設(shè)施上托管的應(yīng)用。通過(guò)PaaS服務(wù),應(yīng)用開(kāi)發(fā)人員在無(wú)需關(guān)注底層的中間件平臺(tái)與其他資源的前提下就可以開(kāi)發(fā)程序。并且不需關(guān)注底層中間平臺(tái)的運(yùn)營(yíng)維護(hù)。PaaS降低了應(yīng)用開(kāi)發(fā)團(tuán)隊(duì)的維護(hù)成本,提升了企業(yè)內(nèi)部的資源的利用率。PaaS平臺(tái)對(duì)應(yīng)用開(kāi)發(fā)團(tuán)隊(duì)提供了強(qiáng)大而穩(wěn)定的基礎(chǔ)運(yùn)營(yíng)平臺(tái),以及專(zhuān)業(yè)的技術(shù)支持隊(duì)伍,優(yōu)質(zhì)的平臺(tái)級(jí)服務(wù)保證支撐應(yīng)用系統(tǒng)長(zhǎng)時(shí)間、穩(wěn)定的運(yùn)行。IaaS是Infrastructure-as-a-Service (基礎(chǔ)設(shè)施即服務(wù))的簡(jiǎn)稱(chēng),是把數(shù)據(jù)中心、基礎(chǔ)設(shè)施硬件資源通過(guò)Web分配給用戶(hù)使用的商業(yè)模式。其中為客戶(hù)端提供虛擬服務(wù)器和/或按需式資源、如存儲(chǔ)裝置,根據(jù)需要對(duì)它們付費(fèi),與消費(fèi)實(shí)用程序資源相似。通常的PaaS平臺(tái)架構(gòu)如圖I所示,主要組件中的負(fù)載均衡器對(duì)于平臺(tái)中的每一個(gè)應(yīng)用程序,來(lái)自客戶(hù)端的請(qǐng)求將會(huì)被其根據(jù)一定的規(guī)則轉(zhuǎn)發(fā)到其后的Web服務(wù)器或者應(yīng)用服務(wù)器;Web服務(wù)器,用于平臺(tái)上應(yīng)用程序的部署。對(duì)于基于Java/Ruby的應(yīng)用程序,這部分通常使用應(yīng)用程序服務(wù)器,在本文中不區(qū)分這兩者,因?yàn)樗麄冎g的區(qū)別并不影響我們的描述。數(shù)據(jù)庫(kù)服務(wù)器,用來(lái)存儲(chǔ)應(yīng)用的數(shù)據(jù)。一般的網(wǎng)站或者基于web多層應(yīng)用程序架構(gòu)如圖I所示,這個(gè)架構(gòu)在大多數(shù)情況下表現(xiàn)良好。盡管圖中只描述一個(gè)負(fù)載均衡服務(wù)器,但在實(shí)際中目前有大量成熟的集群方式來(lái)解決高可用性,以及負(fù)載均衡的問(wèn)題。傳統(tǒng)的PaaS平臺(tái)架構(gòu)中,所有的應(yīng)用程序均部署于該平臺(tái)上,對(duì)于每一個(gè)應(yīng)用的新增,刪除以及變 更,通常都由管理員去手工配置相關(guān)服務(wù)器的配置文件,然后使其生效,這就造成了大量的管理負(fù)擔(dān)。申請(qǐng)?zhí)枮?01110219673. 2的中國(guó)專(zhuān)利文獻(xiàn)公開(kāi)了一種PaaS云平臺(tái)的資源調(diào)度方法,PaaS云平臺(tái)中管理節(jié)點(diǎn)檢測(cè)各子節(jié)點(diǎn)的負(fù)載情況,對(duì)于負(fù)載超過(guò)閾值的子節(jié)點(diǎn),將所述子節(jié)點(diǎn)中負(fù)載開(kāi)銷(xiāo)最大的應(yīng)用,重新部署到負(fù)載最輕且未部署所述應(yīng)用的子節(jié)點(diǎn),該申請(qǐng)能夠在資源調(diào)度時(shí)保證應(yīng)用服務(wù)質(zhì)量,減少應(yīng)用副本遷移的信令開(kāi)銷(xiāo),實(shí)現(xiàn)PaaS云平臺(tái)的負(fù)載均衡。但是該技術(shù)未解決服務(wù)器配置文件的自動(dòng)化處理問(wèn)題,對(duì)于實(shí)例的增刪都需要手工進(jìn)行配置,造成了大量的資源浪費(fèi)。申請(qǐng)?zhí)枮?01110453030. 4的中國(guó)專(zhuān)利文獻(xiàn)公開(kāi)了一種基于云計(jì)算的PaaS平臺(tái)系統(tǒng)及其實(shí)現(xiàn)方法,該系統(tǒng)統(tǒng)包括有服務(wù)請(qǐng)求管理模塊、SaaS應(yīng)用系統(tǒng)、服務(wù)發(fā)布系統(tǒng)、云操作系統(tǒng)、市場(chǎng)銷(xiāo)售管理系統(tǒng)、云計(jì)算服務(wù)和云計(jì)算硬件虛擬化框架;利用云操作系統(tǒng)對(duì)服務(wù)器集群進(jìn)行硬件虛擬化,然后根據(jù)應(yīng)用系統(tǒng)不同要求配置不同的操作系統(tǒng),對(duì)硬件資源進(jìn)行動(dòng)態(tài)、統(tǒng)一地分配管理;同時(shí)使不同系統(tǒng)的用戶(hù)綁定不同的用戶(hù)認(rèn)證證書(shū),采用實(shí)時(shí)加解密的主動(dòng)加密防泄密,對(duì)集成在PaaS平臺(tái)上的應(yīng)用系統(tǒng)權(quán)限進(jìn)行控制。本發(fā)明解決個(gè)系統(tǒng)獨(dú)立性、安全性和資源高效利用問(wèn)題,可以應(yīng)用于云計(jì)算的PaaS平臺(tái)系統(tǒng)中。該技術(shù)也未解決服務(wù)器配置文件的自動(dòng)化處理問(wèn)題。

發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)中的上述不足,本發(fā)明的目的在于提供一種自動(dòng)處理PaaS平臺(tái)中應(yīng)用程序的方法,提出一種自動(dòng)處理PaaS平臺(tái)中應(yīng)用程序的增刪改查而無(wú)需平臺(tái)管理員參與的方法,從而提供一種可以為公司或者組織內(nèi)部的PaaS平臺(tái)提供高可用性的方法。為了達(dá)到上述目的,本發(fā)明提出的方法包括應(yīng)用實(shí)例初次啟動(dòng),增加應(yīng)用實(shí)例和移除應(yīng)用實(shí)例,其特征在于該方法具體包括以下步驟確定應(yīng)用部署的實(shí)例的數(shù)目以及應(yīng)用的域名;當(dāng)開(kāi)發(fā)者將該應(yīng)用上傳到PaaS平臺(tái)的某一個(gè)共享存儲(chǔ)器上時(shí),PaaS系統(tǒng)會(huì)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息,PaaS平臺(tái)上的服務(wù)器收到消息后,判斷其是否滿(mǎn)足應(yīng)用所需要的軟件環(huán)境、硬件資源,以及是否已經(jīng)部署過(guò)該實(shí)例;如果收到消息的服務(wù)器滿(mǎn)足應(yīng)用需要的條件,該服務(wù)器通知PaaS平臺(tái)將應(yīng)用部署在該服務(wù)器上,并通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口 ;根據(jù)應(yīng)用需要部署的實(shí)例數(shù)N,PaaS平臺(tái)獲取并解析前N個(gè)收到的消息,并且根據(jù)消息內(nèi)容在目標(biāo)應(yīng)用服務(wù)器上部署并且啟動(dòng)應(yīng)用實(shí)例;當(dāng)實(shí)例啟動(dòng)成功時(shí),該實(shí)例所在的服務(wù)器使用消息通知PaaS平臺(tái)該應(yīng)用實(shí)例已經(jīng)成功啟動(dòng),PaaS平臺(tái)獲取并且解析該成功啟動(dòng)消息,根據(jù)消息內(nèi)容對(duì)負(fù)載均衡器的轉(zhuǎn)發(fā)策略進(jìn)行更新;當(dāng)系統(tǒng)需要增加一個(gè)實(shí)例時(shí),PaaS系統(tǒng)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息,PaaS平臺(tái)上的服務(wù)器收到消息后,判斷服務(wù)器是否滿(mǎn)足應(yīng)用需要的條件,若滿(mǎn)足條件,則通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口,PaaS平臺(tái)根據(jù)獲取到的信息更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略;當(dāng)應(yīng)用需要?jiǎng)h除一個(gè)實(shí)例時(shí),部署應(yīng)用實(shí)例的物理服務(wù)器在成功停止運(yùn)行的實(shí)例后,向PaaS平臺(tái)發(fā)送消息通知該實(shí)例已經(jīng)停止,PaaS平臺(tái)在收到消息并解析后應(yīng)該更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,去除對(duì)已經(jīng)停掉的該物理服務(wù)器上的運(yùn)行實(shí)例的轉(zhuǎn)發(fā)。進(jìn)一步,上述方法包括設(shè)定一個(gè)定時(shí)器,在收到一條成功啟動(dòng)信息后一段時(shí)間后再更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略。進(jìn)一步,上述方法中加入監(jiān)控機(jī)制,以實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。 進(jìn)一步,上述方法中對(duì)于正常運(yùn)行的應(yīng)用實(shí)例,為監(jiān)控系統(tǒng)定時(shí)上報(bào)心跳數(shù)據(jù)。進(jìn)一步,上述方法中每5秒鐘上報(bào)一次心跳數(shù)據(jù),對(duì)于連續(xù)丟失兩次心跳數(shù)據(jù)的應(yīng)用實(shí)例,將其記為已死亡。進(jìn)一步,上述方法中監(jiān)控系統(tǒng)發(fā)送消息給PaaS平臺(tái),PaaS平臺(tái)收到相應(yīng)的消息后,更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,在轉(zhuǎn)發(fā)列表中去除已經(jīng)被標(biāo)記為死亡的運(yùn)行實(shí)例,然后PaaS平臺(tái)根據(jù)需要啟動(dòng)一個(gè)新的應(yīng)用實(shí)例來(lái)代替已經(jīng)死亡的運(yùn)行實(shí)例。進(jìn)一步,上述方法中在監(jiān)控系統(tǒng)中監(jiān)控應(yīng)用所部署的物理服務(wù)器的CPU或者內(nèi)存等物理資源,根據(jù)監(jiān)控的數(shù)據(jù),或者系統(tǒng)管理員所設(shè)置的閾值,如果硬件資源的使用率已經(jīng)超過(guò)所設(shè)置的閾值,PaaS平臺(tái)動(dòng)態(tài)的增加應(yīng)用的部署實(shí)例,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)某個(gè)應(yīng)用的實(shí)例大量資源空閑,PaaS平臺(tái)去除掉部分已經(jīng)部署的實(shí)例。進(jìn)一步,上述方法中負(fù)載均衡器更新轉(zhuǎn)發(fā)策略進(jìn)一步包括在該負(fù)載均衡器中寫(xiě)入一個(gè)語(yǔ)句,該語(yǔ)句用于保持一個(gè)獨(dú)立的配置;為負(fù)載均衡器配置虛擬主機(jī);該負(fù)載均衡器將代理該應(yīng)用的所有請(qǐng)求到應(yīng)用所部署的服務(wù)器;該負(fù)載均衡器獲取到請(qǐng)求的子域名,然后通過(guò)配置文件對(duì)其進(jìn)行轉(zhuǎn)發(fā);在應(yīng)用啟動(dòng)的時(shí)候根據(jù)啟動(dòng)所在的應(yīng)用實(shí)例,更新該配置文件。進(jìn)一步,上述方法中當(dāng)更新配置文件完成后,通過(guò)負(fù)載均衡器命令讓其動(dòng)態(tài)加載變化的配置;當(dāng)負(fù)載均衡器重新加載后,應(yīng)用就被外部用戶(hù)來(lái)訪(fǎng)問(wèn)。本發(fā)明相對(duì)于現(xiàn)有技術(shù)的優(yōu)點(diǎn)在于無(wú)需管理員手動(dòng)操作;能夠?qū)崿F(xiàn)不停機(jī)的情況下增加應(yīng)用實(shí)例;如果加入監(jiān)測(cè)機(jī)制,很容易的實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。


圖I為常用的網(wǎng)站或者基于Web的應(yīng)用程序架構(gòu);
圖2為根據(jù)一個(gè)實(shí)施例的方法初次啟動(dòng)的流程 圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的方法的增加應(yīng)用實(shí)例的流程 圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的方法的刪除應(yīng)用實(shí)例的流程圖。
具體實(shí)施方式
下面參考附圖對(duì)本發(fā)明的電子銀行操作系統(tǒng)的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述,需要注意的是,下面的描述僅是示意性的,其中所涉及的內(nèi)容并不構(gòu)成對(duì)發(fā)明所涉及內(nèi)容的限制,本領(lǐng)域技術(shù)人員在下面公開(kāi)內(nèi)容的基礎(chǔ)上還可以有許多不同的變化方式,這些都屬于本發(fā)明的保護(hù)范圍。在整個(gè)PaaS平臺(tái)中,每一個(gè)應(yīng)用都可以通過(guò)一個(gè)獨(dú)立且唯一的頂級(jí)或者二級(jí)域名被客戶(hù)端所訪(fǎng)問(wèn)。每一個(gè)部署在平臺(tái)上的應(yīng)用都會(huì)被部署在多臺(tái)不同的物理服務(wù)器上。同樣,每一臺(tái)物理服務(wù)器上都會(huì)部署多個(gè)應(yīng)用的實(shí)例。下文中,為了簡(jiǎn)化描述,我們假設(shè)每臺(tái)物理器只有一塊網(wǎng)卡,意味著每臺(tái)物理服務(wù)器只有一個(gè)IP地址。在只有一個(gè)IP地址的前提下,為了達(dá)到在一臺(tái)物理服務(wù)器上部署多個(gè)應(yīng)用的目的,我們需要將不同的應(yīng)用實(shí)例 部署為監(jiān)聽(tīng)不同的端口.
如圖2所示,描述了平臺(tái)中的實(shí)例進(jìn)行初次啟動(dòng)的方法流程圖。在應(yīng)用開(kāi)發(fā)者上傳應(yīng)用之前,開(kāi)發(fā)者應(yīng)該確定應(yīng)用部署的實(shí)例的數(shù)目以及應(yīng)用的域名。為了描述方便,我們假定有一個(gè)應(yīng)用al,域名為al. paas-example. com,需要部署兩個(gè)不同的實(shí)例。當(dāng)開(kāi)發(fā)者將al上傳到PaaS平臺(tái)的某一個(gè)共享存儲(chǔ)器上時(shí),PaaS系統(tǒng)會(huì)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息。PaaS平臺(tái)上的服務(wù)器收到消息后,判斷其是否滿(mǎn)足應(yīng)用所需要的軟件環(huán)境,硬件資源,以及是否已經(jīng)部署過(guò)該實(shí)例,為了避免單點(diǎn)失敗,我們不應(yīng)該在同一臺(tái)物理服務(wù)器上部署一個(gè)應(yīng)用的多個(gè)實(shí)例。如果收到消息的服務(wù)器滿(mǎn)足應(yīng)用需要的條件,該服務(wù)器應(yīng)該通知PaaS平臺(tái)可以將應(yīng)用部署在該物理服務(wù)器上,并通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口。根據(jù)應(yīng)用需要部署的實(shí)例數(shù)N,PaaS平臺(tái)獲取并解析前N個(gè)收到的消息,并且根據(jù)消息內(nèi)容在目標(biāo)應(yīng)用服務(wù)器上部署并且啟動(dòng)應(yīng)用實(shí)例。為了通過(guò)應(yīng)用事先指定的域名訪(fǎng)問(wèn)到應(yīng)用的實(shí)例,用來(lái)轉(zhuǎn)發(fā)請(qǐng)求的負(fù)載均衡器必須獲知應(yīng)用實(shí)例所部屬的應(yīng)用服務(wù)器的IP地址與端口號(hào)。所以,為了獲取相關(guān)的信息,當(dāng)應(yīng)用的實(shí)例啟動(dòng)成功時(shí),該實(shí)例所在的服務(wù)器應(yīng)該使用消息通知PaaS平臺(tái)該應(yīng)用實(shí)例已經(jīng)成功啟動(dòng)。PaaS平臺(tái)獲取并且解析該成功啟動(dòng)消息,根據(jù)消息內(nèi)容對(duì)負(fù)載均衡器的轉(zhuǎn)發(fā)策略進(jìn)行更新。為了不過(guò)于頻繁的更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,我們可以設(shè)定一個(gè)定時(shí)器,在收到一條成功啟動(dòng)信息后一段時(shí)間后再更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略。例如,對(duì)于應(yīng)用al,PaaS平臺(tái)獲取到的啟動(dòng)消息為sl:8080和s2:8080.在更新完負(fù)載均衡器的轉(zhuǎn)發(fā)策略后,所有訪(fǎng)問(wèn)al指定的域名al. paas-example. com的請(qǐng)求都會(huì)被轉(zhuǎn)發(fā)到si :8080和s2:8080這兩臺(tái)真正的物理服務(wù)器上。如圖3所示,描述了一個(gè)在平臺(tái)中增加應(yīng)用實(shí)例的方法流程圖。當(dāng)系統(tǒng)需要增加一個(gè)實(shí)例時(shí),PaaS系統(tǒng)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息。PaaS平臺(tái)上的服務(wù)器收到消息后,根據(jù)上文描述的軟件,硬件以及是否部署過(guò)等規(guī)則判斷服務(wù)器是否滿(mǎn)足應(yīng)用需要的條件。若滿(mǎn)足條件,則通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口。PaaS平臺(tái)根據(jù)獲取到的信息更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,當(dāng)更新成功后,應(yīng)用就相當(dāng)于成功增加了一個(gè)運(yùn)行中的實(shí)例。如圖4所示,描述了平臺(tái)中刪除應(yīng)用實(shí)例的方法流程圖。當(dāng)應(yīng)用需要?jiǎng)h除一個(gè)實(shí)例時(shí),部署應(yīng)用實(shí)例的物理服務(wù)器在成功停止運(yùn)行的實(shí)例后,向PaaS平臺(tái)發(fā)送消息通知該實(shí)例已經(jīng)停止。PaaS平臺(tái)在收到消息并解析后應(yīng)該更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,去除對(duì)已經(jīng)停掉的該物理服務(wù)器上的運(yùn)行實(shí)例的轉(zhuǎn)發(fā)。
如果加入監(jiān)控機(jī)制,可以很容易的實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。對(duì)于每一個(gè)正常運(yùn)行的應(yīng)用實(shí)例,其應(yīng)該給監(jiān)控系統(tǒng)定時(shí)上報(bào)心跳數(shù)據(jù)。例如,根據(jù)網(wǎng)絡(luò)情況,我們選擇每5秒上報(bào)一次心跳數(shù)據(jù),對(duì)于連續(xù)丟失兩次心跳數(shù)據(jù)的應(yīng)用實(shí)例,我們將其極為已經(jīng)死亡。監(jiān)控系統(tǒng)可以發(fā)送消息給PaaS平臺(tái),PaaS平臺(tái)收到相應(yīng)的消息后,更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,在轉(zhuǎn)發(fā)列表中去除已經(jīng)被標(biāo)記為死亡的運(yùn)行實(shí)例,然后PaaS平臺(tái)可以根據(jù)需要啟動(dòng)一個(gè)新的應(yīng)用實(shí)例來(lái)代替已經(jīng)死亡的運(yùn)行實(shí)例。在監(jiān)控系統(tǒng)中可以監(jiān)控應(yīng)用所部署的物理服務(wù)器的CPU或者內(nèi)存等物理資源,根據(jù)監(jiān)控的數(shù)據(jù),或者系統(tǒng)管理員所設(shè)置的閾值,如果硬件資源的使用率已經(jīng)超過(guò)所設(shè)置的閾值,那么PaaS平臺(tái)可以動(dòng)態(tài)的增加應(yīng)用的部署實(shí)例。同樣道理,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)某個(gè)應(yīng)用的實(shí)例大量資源空閑,PaaS平臺(tái)也可以去除掉部分已經(jīng)部署的實(shí)例。這樣可以實(shí)現(xiàn)資源的最大化利用。 在實(shí)際中,我們采用Nginx ( 一個(gè)常用的負(fù)載均衡器)服務(wù)器作為負(fù)載均衡服務(wù)器.在Nginx的配置文件中寫(xiě)入下面的語(yǔ)句
include ../include, conf/氺. conf;
對(duì)于每一個(gè)應(yīng)用,都保持一個(gè)獨(dú)立的配置,例如,釆用應(yīng)用的UUID (通用唯一識(shí)別碼)作為文件名。一個(gè)UUID為axu的應(yīng)用,其配置文件為../include, conf/axu. conf.
下一步我們配置Nginx的virtual host (虛擬主機(jī)),Nginx將代理(Proxy)該應(yīng)用的所有請(qǐng)求到應(yīng)用所部署的服務(wù)器.使用Nginx的好處是,對(duì)于后端的多臺(tái)應(yīng)用服務(wù)器,Nginx會(huì)幫我們將請(qǐng)求代理到其中的一臺(tái)服務(wù)器上.下面是一個(gè)例子
#application, cluster will hold the available clusters
#at any given point of timeinclude ../include, conf/氺. conf;server {
listen 80;
server—name www. example, com;
access_log logs/example, access, log main;
error_log logs/example, error, log;
if ( $host * (\w+) \. platform2\. letv\. com ) {
set $subdomain $1;
}
location / {
proxy—pass http://$subdomain;proxy_set—header X-Real-IP $remote_addr;error—page 500 502 503 504 /50x.html;
#Other parameters}
}
Nginx可以獲取到請(qǐng)求的子域名,然后對(duì)其進(jìn)行轉(zhuǎn)發(fā).如Client訪(fǎng)問(wèn) appl.platform2.letv.com. Nginx 會(huì)將其轉(zhuǎn)發(fā)至丨J proxy_pass http://appl 在../include, conf/目錄中,我們可以找到appl. conf路徑,里面可能會(huì)有如下的配置
upstream appl {ip—hash;
server serverl:8500;server server2:8501;
}
在應(yīng)用啟動(dòng)的時(shí)候我 們可以根據(jù)啟動(dòng)所在的應(yīng)用實(shí)例,更新這段配置文件。比如,appl現(xiàn)在部署在server3上,監(jiān)聽(tīng)8000端口,那么appl. conf文件變?yōu)閡pstream clustapp {ip_hash;
server server3:8000
}
當(dāng)更新完成后,我們通過(guò)Nginx命令讓其動(dòng)態(tài)加載變化的配置 nginx -s reload
當(dāng)Nginx重新加載后,應(yīng)用就可以被外部用戶(hù)來(lái)訪(fǎng)問(wèn)了,所有操作均為程序完成,無(wú)需管理員手動(dòng)實(shí)現(xiàn).
本發(fā)明的優(yōu)點(diǎn)在于能夠?qū)崿F(xiàn)無(wú)需管理員手動(dòng)操作,并且可以在不停機(jī)的情況下增加應(yīng)用實(shí)例,在加入監(jiān)測(cè)機(jī)制的情況下,可以很容易的實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種提高PaaS (Plartform-as-a-Service)平臺(tái)可用性的方法,所述方法包括應(yīng)用實(shí)例初次啟動(dòng),增加應(yīng)用實(shí)例和移除應(yīng)用實(shí)例,其特征在于該方法具體包括以下步驟 確定應(yīng)用部署的實(shí)例的數(shù)目以及應(yīng)用的域名; 當(dāng)開(kāi)發(fā)者將該應(yīng)用上傳到PaaS平臺(tái)的某一個(gè)共享存儲(chǔ)器上時(shí),PaaS系統(tǒng)會(huì)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息,PaaS平臺(tái)上的服務(wù)器收到消息后,判斷其是否滿(mǎn)足應(yīng)用所需要的軟件環(huán)境、硬件資源,以及是否已經(jīng)部署過(guò)該實(shí)例; 如果收到消息的服務(wù)器滿(mǎn)足應(yīng)用需要的條件,該服務(wù)器通知PaaS平臺(tái)將應(yīng)用部署在該服務(wù)器上,并通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口 ; 根據(jù)應(yīng)用需要部署的實(shí)例數(shù)N,PaaS平臺(tái)獲取并解析前N個(gè)收到的消息,并且根據(jù)消息內(nèi)容在目標(biāo)應(yīng)用服務(wù)器上部署并且啟動(dòng)應(yīng)用實(shí)例; 當(dāng)實(shí)例啟動(dòng)成功時(shí),該實(shí)例所在的服務(wù)器使用消息通知PaaS平臺(tái)該應(yīng)用實(shí)例已經(jīng)成功啟動(dòng),PaaS平臺(tái)獲取并且解析該成功啟動(dòng)消息,根據(jù)消息內(nèi)容對(duì)負(fù)載均衡器的轉(zhuǎn)發(fā)策略進(jìn)行更新; 當(dāng)系統(tǒng)需要增加一個(gè)實(shí)例時(shí),PaaS系統(tǒng)向平臺(tái)內(nèi)的所有服務(wù)器資源池發(fā)布消息,PaaS平臺(tái)上的服務(wù)器收到消息后,判斷服務(wù)器是否滿(mǎn)足應(yīng)用需要的條件,若滿(mǎn)足條件,則通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口,PaaS平臺(tái)根據(jù)獲取到的信息更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略; 當(dāng)應(yīng)用需要?jiǎng)h除一個(gè)實(shí)例時(shí),部署應(yīng)用實(shí)例的物理服務(wù)器在成功停止運(yùn)行的實(shí)例后,向PaaS平臺(tái)發(fā)送消息通知該實(shí)例已經(jīng)停止,PaaS平臺(tái)在收到消息并解析后應(yīng)該更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,去除對(duì)已經(jīng)停掉的該物理服務(wù)器上的運(yùn)行實(shí)例的轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求I所述的方法,其中進(jìn)一步包括設(shè)定一個(gè)定時(shí)器,在收到一條成功啟動(dòng)信息后一段時(shí)間后再更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略。
3.根據(jù)權(quán)利要求I或2所述的方法,其中進(jìn)一步加入監(jiān)控機(jī)制,以實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。
4.根據(jù)權(quán)利要求3所述的方法,其中對(duì)于正常運(yùn)行的應(yīng)用實(shí)例,為監(jiān)控系統(tǒng)定時(shí)上報(bào)心跳數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其中每5秒鐘上報(bào)一次心跳數(shù)據(jù),對(duì)于連續(xù)丟失兩次心跳數(shù)據(jù)的應(yīng)用實(shí)例,將其記為已死亡。
6.根據(jù)權(quán)利要求5所述的方法,其中監(jiān)控系統(tǒng)發(fā)送消息給PaaS平臺(tái),PaaS平臺(tái)收到相應(yīng)的消息后,更新負(fù)載均衡器的轉(zhuǎn)發(fā)策略,在轉(zhuǎn)發(fā)列表中去除已經(jīng)被標(biāo)記為死亡的運(yùn)行實(shí)例,然后PaaS平臺(tái)根據(jù)需要啟動(dòng)一個(gè)新的應(yīng)用實(shí)例來(lái)代替已經(jīng)死亡的運(yùn)行實(shí)例。
7.根據(jù)前述任一項(xiàng)權(quán)利要求所述的方法,其中在監(jiān)控系統(tǒng)中監(jiān)控應(yīng)用所部署的物理服務(wù)器的CPU或者內(nèi)存等物理資源,根據(jù)監(jiān)控的數(shù)據(jù),或者系統(tǒng)管理員所設(shè)置的閾值,如果硬件資源的使用率已經(jīng)超過(guò)所設(shè)置的閾值,PaaS平臺(tái)動(dòng)態(tài)的增加應(yīng)用的部署實(shí)例,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)某個(gè)應(yīng)用的實(shí)例大量資源空閑,PaaS平臺(tái)去除掉部分已經(jīng)部署的實(shí)例。
8.根據(jù)權(quán)利要求I所述的方法,其中負(fù)載均衡器更新轉(zhuǎn)發(fā)策略進(jìn)一步包括 在該負(fù)載均衡器中寫(xiě)入一個(gè)語(yǔ)句,該語(yǔ)句用于保持一個(gè)獨(dú)立的配置; 為負(fù)載均衡器配置虛擬主機(jī); 該負(fù)載均衡器將代理該應(yīng)用的所有請(qǐng)求到應(yīng)用所部署的服務(wù)器; 該負(fù)載均衡器獲取到請(qǐng)求的子域名,然后通過(guò)配置文件對(duì)其進(jìn)行轉(zhuǎn)發(fā);在應(yīng)用啟動(dòng)的時(shí)候根據(jù)啟動(dòng)所在的應(yīng)用實(shí)例,更新該配置文件。
9.根據(jù)權(quán)利要求8所述的方法,其中當(dāng)更新配置文件完成后,通過(guò)負(fù)載均衡器命令讓其動(dòng)態(tài)加載變化的配置;當(dāng)負(fù)載均衡器重新加載后,應(yīng)用就被外部用戶(hù)來(lái)訪(fǎng)問(wèn)。
全文摘要
本發(fā)明提供一種自動(dòng)處理PaaS平臺(tái)中應(yīng)用程序的方法,主要包括確定應(yīng)用部署的實(shí)例的數(shù)目以及域名;當(dāng)將該應(yīng)用上傳到PaaS平臺(tái)的某一共享存儲(chǔ)器上時(shí),PaaS系統(tǒng)會(huì)向所有服務(wù)器資源池發(fā)布消息,PaaS平臺(tái)上的服務(wù)器收到消息后,判斷其是否滿(mǎn)足應(yīng)用所需要的軟件環(huán)境、硬件資源,以及是否已經(jīng)部署過(guò)該實(shí)例;如果收到消息的服務(wù)器滿(mǎn)足應(yīng)用需要的條件,該服務(wù)器應(yīng)該通知PaaS平臺(tái)可以將應(yīng)用部署在物理服務(wù)器上,并通過(guò)消息告知應(yīng)用應(yīng)該部署的IP地址與端口;根據(jù)應(yīng)用需要部署的實(shí)例數(shù)N,PaaS平臺(tái)獲取并解析前N個(gè)收到的消息,并且根據(jù)消息內(nèi)容在目標(biāo)應(yīng)用服務(wù)器上部署并且啟動(dòng)應(yīng)用實(shí)例。
文檔編號(hào)H04L29/08GK102821000SQ201210339500
公開(kāi)日2012年12月12日 申請(qǐng)日期2012年9月14日 優(yōu)先權(quán)日2012年9月14日
發(fā)明者孟大巍, 劉云霞, 白德鑫 申請(qǐng)人:樂(lè)視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宜川县| 枣阳市| 庄河市| 二连浩特市| 门头沟区| 尉犁县| 鄢陵县| 宁南县| 聊城市| 湘潭县| 甘德县| 田东县| 铜山县| 池州市| 环江| 巴东县| 卓尼县| 凤城市| 新竹市| 文昌市| 高碑店市| 宁国市| 七台河市| 铁岭县| 镇坪县| 永和县| 阳朔县| 砀山县| 新乡市| 宜兰市| 蒙城县| 平阴县| 南岸区| 黑河市| 和平县| 章丘市| 赞皇县| 卓尼县| 永寿县| 涞源县| 南乐县|